Frustracja przez (nie)optymalny kod

0

Witajcie,

chciałbym spytać Was o jedną kwestię. Mianowicie jak to jest z tym pisaniem optymalnego kodu w pracy?
Studiuję informatykę - wiadomo: często są jakieś programy do napisania. Jeśli chodzi o samo rozwiązywanie problemów, to raczej problemów z tym nie ma - program zazwyczaj robi co ma robić. Natomiast niezmiernie się irytuję i wkurzam, jeśli okaże się, że inni studenci napiszą ten sam program, ale w sposób bardziej zwięzły, optymalny, krótszy, szybszy, mniej pętli, funkcji, zmiennych itp. (na siebie oczywiście - że nie potrafiłem zrobić tego w lepszy sposób i że kiepski ze mnie programista). Prowadzący zajęcia oczywiście cieszą się, że są różne kody, nie zwracają w ogóle uwagi na to, aby kod był optymalny, a jedynie na to, aby program robił co ma robić, więc rzadko kiedy dostaje się jakiś feedback.
Jak wygląda ta kwestia w programowaniu komercyjnym? Jak duże znaczenie ma optymalizacja, jak dużą wagę się do tego przykłada? Chociażby w takim Web Devie.
Komuś też towarzyszy/towarzyszyła taka frustracja w podobnych sytuacjach? Pytałem znajomych ze studiów, to mówili, że nawet nie wiedzą o co mi chodzi

16

@Rozbisurmaniony: widać, żeś młody
jest na to taki kawał

Idzie młody nauczyciel i dźwiga w torbie wszystkie papiery. Mija starszego stażem nauczyciela i pyta:
– Proszę pana, pan to pewnie to wszystko ma w głowie?
– Nie proszę pana, ja to wszystko mam w d**ie – odpowiada sędziwy nauczyciel.

3

Twój PM nigdy nie popatrzy w kod, a nawet jakby popatrzył, to by nie zrozumiał, czy jest ładny, ale będzie się krzywił, że robiłeś taska godzinę dłużej niż mu wyszło z kalkulacji w Excelu.

4

Wygląda to różnie.

Na projektach komercyjnych często nikt nie zwróci uwagi o ile kod nie jest napisany z rażącym zaniedbaniem wydajności.
Zazwyczaj względy czytelności kodu są ważniejsze kosztem wydajności jednak do pewnej granicy i nie we wszystkoch przypadkach.

2

Ważne, żeby działał zgodnie z ustaleniami i nie walił błędami. Co do optymalizacji - oczywiście warto pisać jak najlepiej kod, jeśli są takie możliwości, ale też nie przesadzajmy. Są systemy gdzie to, czy coś ładuje się trochę dłużej nie robi różnicy, bo prędkość działania nie jest najważniejsza. Ale są też takie, gdzie to będzie mieć znaczenie.

2

Polecam zamienić frustrację w motywację do poprawy swojego kodu. Polecam chociażby zacząć od ebooków dotyczących refactoringu szczególnie w języku którego używasz na codzień.

1

Nie przejmuj się jeżeli twój kod nie jest najlepszy w grupie, moim zdaniem czytelniejszy kod jest zawsze lepszy, pamiętaj że programowanie to praca zespołowa, im łatwiej komuś zrozumieć twój kod, tym lepiej

krótszy kod =/= lepszy/szybszy

6
Rozbisurmaniony napisał(a):

Mianowicie jak to jest z tym pisaniem optymalnego kodu w pracy?

Ale co to znaczy optymalny?

  • Optymalny czasowo (najmniej czasu trwa zadanie, request itd)
  • Optymalny pamięciowo (najmniej ramu zjada podczas uruchomienia)
  • Optymalny jeśli chodzi o czas dostarczenia (musiało zostać dostarczone na asap bo to bugfix na proda)
  • Optymalny jeśli chodzi o czytanie (bo kod częściej się czyta)
  • Optymalny jeśli chodzi o rozszerzanie (Tu mamy wzorzec Strategia bo dziś mamy tylko dwie Strategie i można by to zrobić na ifie, ale za miesiąc będzie 50 różnych Strategii)

itd itp

Zwykle za jedną optymalność płaci się utratą innej optymalności (prostota vs szybkość, zwięzłość vs możliwość rozbudowy)
itd itp

Co do mnie to uwielbiam programowanie funkcyjne i kod jest dla mnie maksymalnie czytelny jak jest tam minimalna ilość zmiennego stanu i tak staram się pisać, o ile nie ma innych wytycznych, i to uważam że standardowy sposób pisania standardowego optymalnego kodu. Ale wielokrotnie słyszałem że dziwne rzeczy piszę. (Głownie na początku przed Javą 8)

0

Dzięki Wszystkim za odpowiedzi. Może rzeczywiście za bardzo się tym przejmuję, niepotrzebnie. Pewnie za rok już całkiem inaczej będę na to patrzył i na pewno umiejętności będą inne, większe. Po prostu gdzieś z tyłu głowy miałem takie przeświadczenie (w sumie nie wiem skąd), że żeby coś było dobre, to musi być najlepsze ;) i rzeczywiście jak przedmówca napisał optymalizacja może być różna, zależnie od tego co chcemy osiągnąć

0
ZabawnyNick napisał(a):

Nie przejmuj się jeżeli twój kod nie jest najlepszy w grupie, moim zdaniem czytelniejszy kod jest zawsze lepszy, pamiętaj że programowanie to praca zespołowa, im łatwiej komuś zrozumieć twój kod, tym lepiej

krótszy kod =/= lepszy/szybszy

Czytelniejszy kod zawsze lepszy? Ty tak na poważnie?
Rozumiem, że jak ktoś Ci zarżnie bazę danych czytelnym kodem działającym nieoptymalnie to jest spoko ale gdy optymalny kod mniej czytelny działa przez 10 lat niezauważony to jest źle?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0