Send via SMS

Вторник, Януари 25, 2005

Относно “Противоречието на професията”

В блога си, Петьо говори за противоречието на професията. Осмелявам се да добавя една-две хаотични мисли:
1) Приоритет #1 на разработчика е да разреши даден проблем по възможно най-простия и елементарен начин.
Първо бих заменил проблем със задача, тъй като проблем като понятие носи някакъв отрицателен заряд. В програмирането много често до решението на дадена задача може да се стигне по няколко пътя. Само един обаче, е оптимален в зададения контекст. И не винаги той е простичък и елементарен. Всяка сложна задача може да се разбие до подзадачи. Именно тази съвкупност от подзадачи определят контекста. Понякога решенията на подзадачите са взаимосвързани/взаимозависими, което в рамката дефинирана от задачата-майка може да доведе до компромиси при решението им т.е. опростяване на едно за сметка усложняването на друго.
4) Истински добрият разработчик би трябвало да направи така, щото максимална част от проблемите които са поставени пред него да могат да бъдат решени от хора без технически умения. Това води до писане на по-малко код, което е ултимативната цел.
Работата на разработчика е чисто техническа, което се обуславя от техническия характер на задачите, чието решение той трябва да намери. Може ли човек без технически умения да реши задачи, които изискват такива? Не. В случая разработчикът решава задачите и предоставя решението на потребителят под формата на абстракция, която потребителят би разбрал и съумял да ползва. Създаването на тази абстракция обаче, води до допълнително писане на код и естествено усложнение на решението. Виж Приоритет #1.

Хич не е лесна тя...

Лека нощ на всички!

*