Wpis z mikrobloga

@Krolik: czy ja wiem czy tak do końca bullshit, pracuję w projekcie gdzie jestem jedynym midem, a cała reszta teamu to seniorzy i polityka jest tu taka, że w PR #!$%@?ą się o dosłownie wszystko, czasem po trzy razy musiałem zmieniać nazwę metody XD Efekt jest faktycznie taki, że kod jest zajebiście czytelny i wujek Bob mógłby pałować do <10-liniowych metod i <100-liniowych klas, otwierasz dany serwis i dość szybko łapiesz
@taraqui: w Javie? :D :D :D No to przykładowo masz konstruktor obiektu Index w takiej Javie, który otwiera przekazany plik: Index(FileHandle file) { ... }. Kto zamyka FileHandle? Ten kto utworzył obiekt Index, czy może Index sam zamknie po użyciu? Odpowiedz bez zaglądania w implementację i bez czytania komentarzy. :D

Drugie pytanie: dostałeś od kolegi Javową strukturę UltraFastHashMap. Możesz użyć ją w wielu wątkach czy nie? Znowu -
@taraqui: Istotą dokumentacji nie jest to, aby umożliwić zrozumienie co robi dany kod, bo ostatecznie każdy kod da się przeczytać w skończonym czasie i podejrzeć co robi, tylko umożliwienie pracy z kodem *bez konieczności czytania całości*. A brak czytania kodu zajmuje zawsze mniej czasu niż czytanie choćby najlepszego samodokumentującego się kodu.
@Krolik: mordo ale z czym Ty wyskakujesz, ja Ci mówię o pisaniu kodu, który nie wymaga dokumentacji, a Ty mi podajesz przykład z javowej biblioteki, która z założenia takową dokumentację posiada XD

Istotą dokumentacji nie jest to, aby umożliwić zrozumienie co robi dany kod, bo ostatecznie każdy kod da się przeczytać w skończonym czasie i podejrzeć co robi, tylko umożliwienie pracy z kodem bez konieczności czytania całości. A brak czytania kodu
@taraqui: Podane przykłady nie są z żadnej biblioteki Javy, a z kodu napisanego w rzeczywistym projekcie (zmienione są tylko minimalnie nazwy). No i skoro Javowa biblioteka standardowa dokumentację posiadaj, to imputujesz że twórcy Javy nie umieli w samodokumentujący się kod. No bo jakby umieli, to dokumentacja nie byłaby potrzebna, co nie?
@czwarta_gestosc: No i w ten sposób możesz doprowadzić do błędu, bo skąd wiesz, czy Index nie przekaże tego FileHandle dalej i powinien być otwarty po tym jak Index zostanie zamknięty? Zrobiłeś założenie że Index nie jest ownerem FileHandle, a jedynie sobie tego handla pożycza. A tak naprawdę nie wiesz, bo nie przeczytałeś dokumentacji, albo dokumentacji nie było :P

Sorki, Java jest za mało ekspresywnym językiem aby wyrazić koncepcję "obiekt X jest
@Krolik: no to średnio ci idzie zakładanie co imputuję.
Czyli podałeś mi napisany jakiś kod w rzeczywistym projekcie i oczekujesz, że go po prostu od razu zrozumiem? Zapytałbym, czy #!$%@?łeś, ale usunęliby mi za to komentarz xD
To Twoje założenie jest po prostu w tym momencie tak na siłę, że aż mi głupio że muszę na nie w ogóle odpowiadać:
1. To że ktoś napisał kod nie znaczy że ten kod