Designing .NET Class Libraries
marzec 31, 2007Interesujący webcast można znaleźć tutaj. Jest to prezentacja jednego PM z Microsoftu Krzysztofa Cwaliny (btw. kolejny Polak w MS ?) w którym przedstawia wskazówki dotyczące projektowania hierarchii klas. Podkreśla, że dobra biblioteka - jest przede wszystkim prosta i intuicyjna.
Sam, niedawno, miałem okazje projektować bibliotekę, umożliwiającą komunikację z systemem który rozwijam. Jednym z celów jakie przed sobą postawiłem była - prostota. Developer który będzie odwoływał się do niej, nie musi (a właściwie nie powinien - bo w sumie jest to po trosze tajemnicą firmową) wiedzieć jak dogłębnie działa mój system.
Powinien orientować się co chce uzyskać i do czego mniej więcej służą poszczególne klasy w dll. I to wszystko! Resztę powinien być wstanie wydedukować przeglądając dostępne metody i właściwości. W przypadku gdy chciałby zrobić coś bardziej skomplikowanego - proszę bardzo jest help (ew. forum czy w ostateczności email/telefon do twórcy).
Dlaczego było dla mnie naturalne, że prostota powinna - jest słusznym kierunkiem działań? No cóż – na pewno nie oglądałem tej prezentacji przed przystąpieniem do pracy (a szkoda), ale po prostu chciałem ukryć wszelkie niespójności (czytaj: bałagan który powstał w ciągu czterech lat pracy i wysiłków kilku różnych programistów) - istniejące w aplikacji.
Tak na marginesie z jakim bałaganem ludzie MS muszą sobie radzić - przy takiej liczbie zatrudnionych programistów. Strach pomyśleć.
