![]() |
|
||||||||||
|
|||||
|
Не согласен с вами. Код качественно характеризуется также легкостью поддержки и расширяемости. Так вумных книжках пишут. И в принципе это правильно, только вот добиться этого нелегко
![]() |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Вот это, кстати, спорное утверждение. Нужен компромисс между реализацией решающей конкретную задачу, нужную именно в данный момент и реализацией, которая будет абстрактна и учитывать возможные расширения задачи в будущем.
На самом деле, в 80% случаев абстракции избыточны. Но по правилу 80/20 - в 20% они всё-же очень и очень нужны. )) Нужно просто быть готовым к резкому изменению ТЗ. При итерационном подходе и разработке через рефакторинг, это не снег на голову, а нормальный рабочий процесс. Т.е. нужно не делать класс учитывающий все варианты возможных событий. А просто проектировать так, чтобы этот класс можно было поменять на другой без особого ущерба.
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 21.02.2011 в 23:45. |
|
|||||
|
Цитата:
Нет, я про свой код говорю. С чужим кодом понятно. Чужой код я, положа руку на сердце, переделываю "лишь бы работало", т.к. за это дело, действительно, платят так мало, что и заморачиваться неприлично. |
|
|||||
|
Modus ponens
|
Кстати, опять же, из непридуманых историй об абстракциях. Есть в нашем дружном коллективе программист-яваскриптер не реализованый мега-инженер-абстракционист. И вот выпало нам двоим реализовать... отсылку сообщений трекеру Гугл аналитикс. Казалось бы, все очень просто ExternalInterface.call("_ga.push", [foo, bar]). Но я решил, вместо того, чтобы сначала ознакомиться с документацией отправить менеджера к яваскриптеру, т.как думал, что существует уже готовое решение. В итоге мне был даден план действий, включающий JSON сериализацию, кучу непонятно откуда берущихся параметров, события и фреймворк Mootools. У меня открылся третий глаз и слезы потекли в три ручья. На вопрос "зачем?" мне было сказано: "это фасад, ты что такой паттерн не знаешь?". После недели партизанской борьбы JSON был выброшен, но куча левых параметров так и остались
но ТЗ уже поменялся...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
wvxvw, ржу, пишите блог, вас интересно читать. Про GIT очень влиятельно и красочно писали.
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
Цитата:
Главное, всё-же не забывать, что временное решение обычно перерастает в постоянное. И якобы "просто прототипы" надо писать со всей ответственностью, даже если предполагается дальнейшее "чистовое переписывание". До чистового переписывания никогда дело не доходит. И в коде прорастают костыли.
__________________
Отряд Котовскага |
|
|||||
|
wvxvw, что то у вас все плохо с менеджерами, раз они отказываются делать ТЗ.
Это же непосредственная работа менеджера. Чем он тогда вообще занят? Bgg, Не нашел где обсуждали GIT. GIT для меня "открытие года". Рулит и педалит! =)
__________________
Сам себе репортер |
|
|||||
|
Модрон-ветеринар
|
Цитата:
И при этом он: - либо получает ТЗ от заказчика, если тот может сам выставить грамотное ТЗ, - в противном случае закладывает в смету также и написание ТЗ. И тогда ТЗ пишет кто-то, кого можно условно назвать "технический директор" проекта. Это может быть сам программист, это может быть и менеджер, если его квалификации достаточно. Или вообще третье лицо. По крайней мере, такова ситуация при хорошо налаженной работе.
__________________
Идите первым! Последний раз редактировалось mooncar; 22.02.2011 в 14:23. |
|
|||||
|
mooncar, да, нужно обобщить немного: Одна из главных функций менеджера - предоставить ТЗ исполнителям.
__________________
Сам себе репортер |
|
|||||
|
Модрон-ветеринар
|
Верно, terbooter.
__________________
Идите первым! |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:54. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|