Oferty pracy dla inżynierów
  • StrefaInzyniera.pl (current)
  • Oferty pracy
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektronika
    • Automatyka
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
    • CAD
    • CATIA
    • Autodesk Inventor
  • IT
    • JAVA
    • C++
    • Sieci
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • Zaloguj się
  • STREFA INŻYNIERA
  • Oferty pracy
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektroniki
    • Automatyki
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
    • CAD
    • CATIA
    • Autodesk Inventor
  • IT
    • JAVA
    • C++
    • Sieci
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • Logowanie
  • Zaloguj się
Categories

Zrozumieć programowanie ? 3 kluczowe zasady

Autor: Gynvael Coldwind

 

W niniejszym, artykule postaram się przedstawić trzy kluczowe punkty ze szkoły programowania, którą osobiście preferuje i o której piszę w swojej książce pt. "Zrozumieć Programowanie".

 

1. Kod jest najlepszą dokumentacją.

Programiści, jako użytkownicy danej funkcji, klasy, modułu, biblioteki czy API, często muszą sprawdzić jak dana funkcjonalność zachowa się w pewnym mniej lub bardziej specyficznym przypadku - wtedy zazwyczaj zwracamy się ku dokumentacji. Niestety, dokumentacja często jest wysokopoziomowa i pomija pewne istotne dla nas szczegóły, a w innych wypadkach jest nieaktualna, słabej jakości lub w ogóle nie istnieje.

W takich przypadkach warto sięgać do kodu źródłowego danej funkcji, i poszukać w nim odpowiedzi na nasze pytanie - dostępny kod źródłowy jest zazwyczaj znaczniej bogatszym źródłem informacji niż dokumentacja. Wymaga to oczywiście pewnej wprawy - w końcu kod innej osoby / grupy osób działający często w innej warstwie abstrakcji lub będący napisany w innym języku, będzie dla nas wyglądał dość egzotycznie - na szczęście szybko można do tego przywyknąć.

 

Co za tym idzie - warto pisać kod tak, aby był czytelny dla innych. Przykładowo, zamiast:

 

a ^= b ^= a ^= b;

 

lepiej jest napisać:

 

std::swap(a, b);

 

A co jeśli zabraknie nawet kodu źródłowego? W takim przypadku pozostaje inżynieria wsteczna (ang. reverse engineering), której podstawy warto znać, szczególnie, że czasami przydaje się również przy debugowaniu naszych własnych aplikacji.

 

2. Zaprzyjaźnij się z oficjalną dokumentacją.

Początkujący programiści często korzystają z wszelkiej maści tutoriali i kursów - są to bardzo dobre formy wprowadzające w programowanie. Niemniej jednak najwięcej i najbardziej szczegółowe informacje prawie zawsze zawiera oficjalna dokumentacja danego języka programowania (np. International Standard ISO/IEC 14882:2014(E) Programming Language C++), architektury (np. Intel® 64 and IA-32 Architectures Developer's Manual) czy protokołu (np. RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification). Niestety, dokumentacja tego typu jest zazwyczaj pisana bardzo formalnym językiem, przez co czytanie jej bardziej przypomina czytanie ustawy lub kodeksu aniżeli technicznej dokumentacji. Co za tym idzie - trzeba się do tego faktu przyzwyczaić. Oficjalna dokumentacja jest często kopalną ciekawostek i elementów pomijanych w innych materiałach, więc zdecydowanie warto się nią zainteresować.

 

3. Architektura komputera i systemu operacyjnego jest istotna.

Programując w językach wysokiego poziomu łatwo zapomnieć, że gdzieś poniżej znajduje się system operacyjny oraz fizyczny sprzęt, którzy rządzi się własnymi prawami i który bezpośrednio wpływa na wszystkie programowe warstwy abstrakcji znajdujące się powyżej. Warto więc, by nawet programiści języków wysokopoziomowych zainteresowali się zasadą działania schedulera systemowego, systemu plików, procesora, cache'u, pamięci RAM, timerów, dysków twardych, kart sieciowych, itp. Dodatkowa wiedza z tego zakresu pozwoli w przyszłości projektować lepszej jakości software, ponieważ programista będzie mógł wziąć pewne dodatkowe, niskopoziomowe, rzeczy pod uwagę i zoptymalizować odpowiednio oprogramowanie.

 

Zaloguj się aby dodać komentarz

Podobne artykuły

« Z programistą w cztery oczyJak z sukcesem przejść proces rejestracyjny ? podręczny manual dla inżyniera »

Podziel się ze znajomymi tym artykułem - udostępnij na FB lub wyślij e-maila korzystając z poniższych opcji:

Oferty pracy dla inżynierów
Oferty pracy dla inżynierów

Inżynier automatyk

ABM-Industry Sp. z o.o.
Gliwice, śląskie
4500-12500

Inżynier automatyk

ABM-Industry Sp. z o.o.
Gliwice, śląskie
4500-12500

Elektromonter w Dziale Produkcji

Workhouse4you Sp. z o.o.
Wieliczka, małopolskie
30 zł/h

Elektromonter w Dziale Produkcji

Workhouse4you Sp. z o.o.
Wieliczka, małopolskie
30 zł/h

Automatyk w Dziale Technicznym

MPS International
Koszalin, zachodniopomorskie

Monter Sieci Telekomunikacyjnych

Flint Group
Niemcy, Berlin, dowolny Region
250-300 Euro na dzień

wszystkie oferty
PracaTechniczna.pl

Strefainzyniera.pl - rynek, praca, rozwój - wszystko co ważne dla inżynierów

  • Dla pracodawcy
  • Artykuły
  • Praca
  • Publikacje
  • Popularne stanowiska
  • Offer in English
  • Regulamin
  • Regulamin dla klientów
  • Polityka prywatności
  • Polityka cookies
  • Kontakt

© 2011 - 2021 NetPortal

Mapa strony Letnisko blisko