23.12.20215 min

Anh T. Dang Chief Technology OfficerOsemnai

10 rzeczy, których unikam po 15 latach pracy jako inżynier oprogramowania

Dobry programista kontra zły programista.

10 rzeczy, których unikam po 15 latach pracy jako inżynier oprogramowania

Pisanie oprogramowania jest trudne, ale napisanie dobrego oprogramowania to już Mount Everest. W tej branży istnieje wiele terminów związanych z technikami programowania, takimi jak czysty kod, zasada STUPID, zasada SOLID itp. Techniki te pomagają nam stać się dobrymi programistami i unikać rzeczy, które wykonali nasi źli koledzy.

Dziś pozwólcie, że pomogę wam przyjrzeć się im uważnie.


1. Nie ucz się tylko kodować

Dla każdego języka programowania istnieje zbiór zasad, które działają jako fundament. Są to np. składnie, słowa kluczowe, koncepcje itd.

Nie uczmy się w pierwszej kolejności składni, przestudiujmy koncepcje. Dla każdego języka składnia jest inna.

To, czego naprawdę powinieneś się nauczyć, to koncepcje takie jak OOP (programowanie obiektowe), FOP (programowanie funkcyjne), POP (programowanie proceduralne); branchowanie (if-else, while-do), iteracja (for), czy wzorce projektowe.

Jeśli potrafisz pisać bloki if-else, ale nie wiesz jak ich używać, oznacza to, że uczysz się składni, ale nie rozumiesz podstawowych pojęć.


2. Unikaj nieaktualnych informacji

Śledź nowinki technologiczne (blogi, newslettery, itp.) z nowymi aktualizacjami pojawiającymi się prawie codziennie, jak np. moja strona.

Pamiętaj jednak, że każdy z tych typów źródeł ma różne zalety i wady.

Technologia zmienia się bardzo szybko, a przez to można napotkać problemy związane z korzystaniem ze starych zasobów.

Upewnij się więc, że sprawdziłeś datę opublikowania informacji, zanim przyjrzysz się jej dalej.

Ja tak naprawdę staram się codziennie przyswajać jak najwięcej pojęć i informacji oraz jestem cały czas na bieżąco z pojawiającymi się technologiami.

Powinieneś również sprawdzać wersje bibliotek, z których korzystasz w swoich programach, aby mieć wgląd w najbardziej aktualne.


3. Nie zapominaj o starych, dobrych książkach

Czytajmy stare książki. Niektóre informacje mają ponad 10 lat, ale nadal są bardzo przydatne.

Ludzkość również istnieje od bardzo dawna, tak więc prawie każdy problem, z którym się zmagasz, został już prawdopodobnie opisany przez jakiegoś innego człowieka, żyjącego przed tobą.


4. Przestań używać else w swoim programie

W niektórych prostych przypadkach możesz użyć else.

if (codition) {
    if statements
} else {
    else statements
}


Jeśli jesteś dobrym programistą, to na pewno używasz instrukcji switch-case.

Ale w bardziej złożonych przypadkach, dobrzy programiści nie używają słowa kluczowego else (lub warunku wielokrotnego wyboru).

Zamiast else używają maszyn stanowych, a jeśli nie wiesz nic o maszynach stanowych, to raczej nie jesteś dobrym programistą. Po więcej zajrzyj tutaj.

Jeśli jesteś jednym z tych dobrych, to użyjesz De Morgana, aby uprościć logikę.

Istnieją dwa sposoby na ponowne napisanie wyrażeń boolean. Tak jak tutaj:

!(a || b || c) == (!a && !b && !c)
!(a && b && c) == (!a || !b || !c)


5. Nie pisz złych komentarzy

Moim zdaniem komentarze są zbędne.

Gorsze są złe komentarze niż sam fakt, że ich nie ma.

Jeśli komentarz jest błędny, nie ma on żadnej wartości.

Poniżej znajduje się ten zły, którego należy unikać, ponieważ opisuje nic więcej niż to, co robi kod.

/* set the value of the age integer to 32 */
int age = 32;


Komentarze często próbują wyjaśnić co lub jak, co w konsekwencji prowadzi do powtarzania się kodu.

Dlatego pamiętaj, że jeśli używasz komentarzy w swoim programie, to powinny one wyjaśniać dlaczego, a nie jak.

Nie dodawaj również komentarzy wyjaśniających złe nazwy (zmiennych, metod i klas). Zamiast tego poświęć trochę czasu i popraw je.


6. Nie bądź programistą STUPID

Mamy 6 rodzajów obiektowego code smell, których powinniśmy unikać podczas pisania programów.


Wzorzec Singleton

Jest to jeden z najprostszych wzorców projektowych.

Gwarantuje to, że może istnieć tylko jedna instancja danej klasy.

Jednak programy wykorzystujące stan globalny są bardzo trudne do przetestowania oraz ukrywają swoje zależności.


Staraj się unikać ścisłych powiązań

Ściśle powiązane moduły są trudne do ponownego wykorzystania, a także trudne do przetestowania.


Nietestowalność

Czyli za każdym razem, kiedy nie piszesz testów jednostkowych, bo nie masz czasu.

Prawdziwym problemem jest to, że twój kod jest kiepski, ale to już inna historia.


Zagrożenia związane z przedwczesną optymalizacją

Jest taki słynny cytat Donalda Knutha, autora legendarnej „Sztuki programowania”.

I jest to również stara książka!

 „Przedwczesna optymalizacja jest źródłem wszelkiego zła”

Istnieją tylko dwie zasady optymalizacji aplikacji:

  1. Nie rób tego.
  2. Albo nie rób tego jeszcze.


Mało znaczące nazwy

Piszesz kod dla ludzi, nie dla komputerów. Języki programowania są dla ludzi, a komputery rozumieją tylko 0 i 1.


Powtórzenia w kodzie to marnotrawstwo.

Powtórzony kod jest zły.

Kiedy powtarzasz kod, ukrywasz powtarzającą się strukturę i kopiujesz wszystkie istniejące bugi.

Dlatego ładnie proszę, nie powtarzaj sam siebie i zachowaj prostotę.


7. Nie buduj wszystkiego od podstaw

Nie próbuj odkryć Ameryki na nowo.

Naszym zadaniem jest upewnić się, że robimy rzeczy właściwe i nie robimy rzeczy niepotrzebnych.

Korzystajmy więc z narzędzi i bibliotek stworzonych przez innych. Co więcej, istnieją również wytyczne dotyczące kodowania w różnych językach.

Spróbuj dowiedzieć się, jakie rozwiązania istnieją na świecie, zanim odważysz się zbudować coś od podstaw.


8. Nie skupiaj się na zatrudnianiu najlepszych ludzi...

Jeśli nie poświęciłeś czasu na przygotowanie się do spotkania i nie pomyślałeś o konkretnych informacjach, które byłyby ci potrzebne do podjęcia decyzji, czy kandydat jest dobrym wyborem, to ta porażka nie tylko kosztowała Cię utratę szansy na ocenę Twojego kandydata, ale także sprawiła, że straciłeś swojego kandydata.

Nie skupiaj się na zatrudnianiu najlepszych ludzi. Mogą, ale też nie muszą być odpowiednimi członkami do twojego zespołu.

Kiedy zrekrutujesz wspaniałego lidera, reszta przyjdzie sama.

Tak więc zatrudniajmy odpowiednich ludzi i niech będą zadowoleni.


9. Unikaj uprzedzeń podczas rozmowy kwalifikacyjnej

Istnieją różne rodzaje uprzedzeń, które wpływają na proces zatrudniania pracowników.

Jednym z bardziej szkodliwych czynników jest osobiste uprzedzenie, podstawowy ludzki instynkt, aby otaczać się ludźmi, którzy są tacy sami jak my.

Ludzie mają naturalną skłonność do zatrudniania osób o podobnych cechach: wykształceniu, doświadczeniu zawodowym, wiedzy specjalistycznej i podobnych doświadczeniach życiowych.

Takie drobne podobieństwa zazwyczaj jednak nie mają nic wspólnego z wydajnością. Prowadzi to do sytuacji, w której pracownicy nie są tak różnorodni i mają zawężone pole widzenia.


10. Nie bój się prosić o pomoc

Czasami nie radzisz sobie z jakimś problemem. No ale przecież nie można wiedzieć wszystkiego.

Wszyscy są zawsze chętni, by pomóc, dlatego nigdy nie bój się i nie bądź zbyt dumny, aby skierować się do innych ludzi i poprosić ich o radę. Nawet jeśli Twoje pytanie będzie głupie. Jeśli tylko mogę w czymś pomóc, nie wahaj się ze mną skontaktować.

Proste, prawda?

Oryginał tekstu w języku angielskim można przeczytać tutaj.

<p>Loading...</p>