четверг, 17 июля 2014 г.

Коротко. О "проектировании"

С тех пор как я начал писать блог - я сделал для себя ДВА вывода:

1. Я начал ЦЕНИТЬ своих коллег.
2. Я понял, что БОЛЬШИНСТВО людей либо "делают коня в вакууме" либо "решают ЧИСТО практические задачи". Либо "теоретизируют", либо "полагаются на Copy'n'Paste'. А где "золотая середина"?

Либо мы "пытаемся покрыть" ВСЕ ВЕТКИ логики. Пусть даже и "нами придуманные".

Либо мы "решаем конкретную проблему".

Скажу коротко. НЕ ГНУШАЙТЕСЬ Assert'ами.

Вот тут - http://18delphi.blogspot.ru/2013/04/blog-post.html

ВСЕ ветки логики вы НИКОГДА не ПОКРОЕТЕ. Даже при ВСЁМ ЖЕЛАНИИ.

Не РАСТЕКАЙТЕСЬ "мыслью по древу"... Есть вопрос - "пишите Assert"... НЕ ПРОДУМЫВАЙТЕ все ВОЗМОЖНЫЕ варианты.. Вы всё равно - ВСЁ не продумаете....

И ещё... НАЧИНАТЬ надо с КОНКРЕТНОЙ задачи.и "решать её". Но если мы видим "общность кода", то - рефакторить.

НЕ ДЕЛАТЬ "коня в вакууме", а решать КОНКРЕТНУЮ задачу.. И ЛИШЬ ПОТОМ - рефакторить..

И ещё... АБСТРАКЦИЯ - это НЕ СПОСОБ "написать меньше кода"...

Код всё равно БУДЕТ НАПИСАН... И ТОЛЬКО КОГДА он НАПИСАН - есть смыл говорить об абстракции..

АБСТРАКЦИЯ - это НЕ СПОСОБ "написать меньше кода"...

АБСТРАКЦИЯ это способ УПРАВЛЯТЬ КОДОМ. Чтобы УМЕНЬШИТ количество "синхронизируемого кода".

Комментариев нет:

Отправить комментарий