Android API как апофеоз процедурного программирования, или Добрый вечер, Бангалор!
vp — 09.12.2013 Имеется класс Calendar, а у него метод:public int get (int field)
в который передается "магическая константа", а метод выплевывает вам наружу разные компоненты даты-времени.
Подбор этих констант похож на творчество душевнобольного:
DAY_OF_MONTH
UNDECIMBER*
WEDNESDAY
WEEK_OF_MONTH
YEAR
DECEMBER
ERA
HOUR
MILLISECOND
PM
ZONE_OFFSET
То есть народ пропустил все 90-е годы, все нулевые, ничего не слышал об ООП, но сделал класс "с одним супер методом", воплотил самый кошмарный процедурный подход. Это говно прошло все уровни согласования, и вылилось в API...
Мне кажется, что на этом примере можно очень много разобрать. У человека так или иначе была задача: реализовать поведение объекта. Определенные свойства выделяются в проперти, определенные действия выделяются в методы. Сходные действия группируются в методы с параметрами....
Дык вот, "декабрь", "год" и "день недели" - это сходные свойства. Знаете, что у них сходного? Правильно! Это числа!
После этого берешь открываешь реализацию аналогичного класса где-нибудь в c# и смотришь, пока не пройдут мысли о тщете всего сущего.
----
* UNDECIMBER - название 13-го месяца в 12-месячном году согласно индусской мифологии.
|
</> |