Wpis z mikrobloga

@nilphilus: no i w tym przypadku powiedziałem, że jestem w stanie to zaakceptować, ale w pierwszym przykładzie było bez sensu.

Poza tym TimeSpan.fromMonths też nie jest jednoznaczne, 3 miesiące to różna liczba sekund zależnie o które 3 miesiące chodzi. A jeśli chcesz przechowywać 3 miesiące jako pojęcie względne, niezależnie ile to na prawdę czasu, to to nie powinna być jedna klasa TimeSpan, tylko klasa abstrakcyjna TimeSpan, i podklasy MonthSpan, DaySpan, SecondSpan,
@nilphilus: serio, "okres czasu 3 miesiące " jest nieczytelny a "okres czasu z 3 miesięcy" jest?

Już nie mówiąc o tym, że skoro nie lubisz patrzeć do środka funkcji, i chcesz widzieć, co funkcja robi patrząc na wywołanie, to wywołanie konstruktora jest oczywiste, że zwraca nową instancję, a funkcja fabrykująca może zwracać singletona, robić copy on write, cokolwiek, i jak chcesz tego użyć w wielowątkowym kodzie to musisz patrzeć do środka.
@tell_me_more: w konstruktorze też śmieszne rzeczy ktoś mógł wrzucić jak już mowimy o złych praktykach. A potem jeszcze destruktor mógł zrobić, bo czemu po calosci nie skopac =] i tak 'From' robi różnicę. Zwlaszcza że jest to swojego rodzaju konwencja, jak wiem ze dana klasa wspiera metody tworzące to klikam .F i patrzę na dostępna listę, a nie wertuje calosc
@tell_me_more: spokojnie metod może być trochę więcej. Ale Ty znowu mi lecisz w skrajność, a tak to nie ma co dyskutowac. Na szczęście jak widzę kod który sklada sie z nastu parametryzowanych konstruktorów z rozna iloscia i roznymi typami mogę dodac swoja metode ktora ta przydluga nazwa ulzy nastepnym programista w czytaniu nazw argumwntow i tego jak sa wykorzystane :-P