-
Data: 2012-02-19 21:16:20
Temat: Re: procedura tworzenia programów
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 19/02/2012 20:11, bartekltg wrote:
>
> Ale to ma się nijak do histroi o wspolnym podnoszeniu
> mebla. To wszystko 'pokazywanie że się ominęło śmiecia'.
> Tego nie kwestionuję. Chciałem tylko zobaczyć przykład
> z programowania odpowiadający historii o wspolnym
> podnoszeniu mebla.
>
> Masz taki, czy jednak analogia była nietrafiona?
Ja mam taki przykład. Przepraszam, że bez szczegółów, ale ogólnie
sytuacja wyglądała tak, że program się zachowywał w sposób, który nie
powinien być możliwy. Byłem w stanie prześledzić do konkretnego momentu
i po prostu wylgądało jakby zachowanie programu było sprzeczne z kodem,
tudzież zmieniało się wraz ze zmianą okoliczności, które na to
zachowanie nie powinny mieć wpływu. Straciłem dwa dni na debugowaniu wtę
i wewtę, logowaniu różnych rzeczy, podstawianiu danych itd. i nic - po
prostu paradoks. Pokazałem koledze i w 10 minut zorientowaliśmy się,
gdzie popełniłem błędne założenie.
Oczywiście możesz powiedzieć, że założenie błędne, bo gdybym nie
poprosił kolegi o pomoc, to pewnie sam bym w końcu wpadł na właściwe
rozwiązanie, nawet gdyby to miało zająć kolejne 3 dni, ale tak to już
bywa z analogiami - nie zawsze są w 100% dokładne.
Inną, być może lepszą, ale też trudniejszą do wykazania na konkretnym
przykładzie analogią jest jakość kodu wytwarzanego przez programistów i
jego konsekwencje. Najbardziej oczywistą sprawą jest ilość defektów:
nawet mając dział QA, który wykrywa powiedzmy większość defektów, ilość
tychże w kodzie programisty ma kolosalne znaczenie: zawsze ilość
defektów pozostanie niewykrytych, co może narazić klientów na straty i
spowoduje utratę reputacji firmy i zespołu, natomiast nawet te, które
zostaną wykryte, będą opóźniać release lub powodować redukcję ficzerów w
danej wersji. I teraz możesz założyć, że dany programista będzie
popełniał ileś tam błędów w danym kawałku kodu - będzie to zależało od
różnych czynników, jak język, narzędzia, metodologia itd., ale zawsze
jakiś tam poziom błędów będzie. I w zasadzie niewiele może sam z siebie
zrobić, żeby ten poziom błędów zmniejszyć - gdyby potrafił pisać lepiej,
to by już tak pisał. Ta ilośc błędów to waga szafki, którą może
udźwignąć. Pracując z drugim programistą razem stworzą kod, który ma
mniejszą ilość defektów, niż którykolwiek z nich mógłby osiągnąć z
osobna. Czyli dźwigają cięższą szafkę, niż każdy z nich z osobna mógłby
udźwignąć.
Taką samą analogię można zbudować dla innych parametrów jak performance,
maintainablility, jakość projektu rozmaitych interfejsów itd.
Następne wpisy z tego wątku
- 19.02.12 21:17 A.L.
- 19.02.12 21:21 M.M.
- 19.02.12 21:26 M.M.
- 19.02.12 21:26 Andrzej Jarzabek
- 19.02.12 21:27 A.L.
- 19.02.12 21:31 M.M.
- 19.02.12 22:20 bartekltg
- 19.02.12 22:32 bartekltg
- 19.02.12 22:32 M.M.
- 19.02.12 22:34 M.M.
- 19.02.12 22:38 Andrzej Jarzabek
- 19.02.12 22:39 bartekltg
- 19.02.12 22:49 M.M.
- 19.02.12 22:59 Edek Pienkowski
- 20.02.12 05:09 Jacek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-03-07 Warszawa => International Freight Forwarder <=
- 2025-03-07 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-03-07 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-07 Piaseczno => Developer .NET <=
- 2025-03-07 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-07 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=