![]() |
|
||||||||||
|
|
|
|||||
|
Сажусь и пишу новое приложение. Схема в голове иногда не окончена, но более менее ясна. Складывается все отлично! Всё работает и выглядит так как я себе и представлял. Код аккуратный (на мой, конечно, взгляд). Ничего лишнего и весь ход исполнения вполне очевиден. Получаю удовольствие
.Потом настает очередь нюансов... Например нужно добавить какой то функционал, новые возможности (намерено говорю не о конкретном проекте, так бывает почти всегда). И начинаются усложнения, всякие "или" "и". Код "замусоривается" уточнениями, классы пухнут, думаю, что и тому, кто будет читать этот код вряд ли будет так просто понять, почему и что... Где то здесь теряется удовольствие от кодинга... Так вот, что это по-вашему? Такие же ощущения и у вас? Или это симптом характерный для новичков (а я в общем новичок)? А если это симптом, то симптом чего? Как это лечить? |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 1,764
|
тут сначала прежде чем что-то начинать, начеркай себе что-то типо ТЗ, потом перечитай, если что-то упустил, добавь, и только потом если все продумано и записано, начинай работу - подход на мой взгляд правильный
__________________
а за окном атлантический океан! |
|
|||||
|
Вопрос не об основах, хотя я и написал, что новичок.
Ну, вот предположим... имеете вы объект с обозначенным функционалом, с определенным поведением. Но среда, в которой он обитает, предусматривает и возникновение исключительных ситуаций, в которых он должен изменять своё поведение, иногда очень сильно, но, всё равно, временно. Так вот, правки возникающие в результате необходимости учёта таких ситуаций, создают, как бы "шум" в коде, всякие "если", "или", "и" и т.д. И в то же время, принципиально, такая необходимость недостаточна, чтобы пересматривать общую структуру объекта. У вас - опытные программеры со стажем, возникают такие ситуации? Или это однозначно признак "чайника"? |
|
|||||
|
Речь скорее о поддержке приложения.
Обычно для таких штук делают разные Document-View, MVP и прочее.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Модрон-ветеринар
|
Немного знакомо.
Вводите новые параметры и условия, описывайте их в комментариях. Кончится тем, что подробные комментарии и хорошая документация станет для вас новым источником удовольствия.
__________________
Идите первым! |
|
|||||
|
В книжке "Совершенный код", описано что-то подобное.
Чем детальнее составлен план, тем меньше таких нюансов. На составление такого плана может уходить довольно много времени.
__________________
Сам себе репортер |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
если небольшое дополнение - не паримся, если большое - переделываем, чтобы все нравилось, если много небольших -
__________________
low + |
|
|||||
|
Резюме: Такие ситуации типичны для кодеров всех уровней. Но, вероятность того, что ваш объект неправильно структурирован растёт прямо-пропорционально коду-"шуму" учёта исключительных ситуаций...
Так? Мне, просто, важно это знать, так как собственного опыта маловато. Академически можно и по-другому к этому вопросу подойти, как писали ребята выше, ты должен предусмотреть все возможные изменения на стадии проектирования, но: а) всё, возможное, не предусмотришь, б) иные "предусмотрения" сделают из твоего кода такого монстра, что получится во вред благими намерениями.... Так мне кажется. Последний раз редактировалось fish_r; 21.02.2011 в 17:14. |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
нет, зависит от ситуации
неправильно структурирован это спорно, идеально все равно не структурируешь/сконструируешь)
__________________
low + |
|
|||||
|
Banned
Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Это называется педантичность
Я усложнаяю свой код на столько, на сколько это необходимо, и не заморачиваюсь по этому поводу. Иногда удовольствие пропадает, но жизнь не состоит из одних удовольствий Никогда не пишу никаких ТЗ и прочей подобной хрени. На мой взгляд - это пустая трата времени. Общая картина перед началом проекта мне известна, и этого вполне достаточно. Часто вообще не понятно как решать ту или иную задачу, пока уже вплотную к ней не подойдешь, и продумать это заранее невозможно. Так же скептически отношусь ко всяким test-driven development-ам, хоть некоторые гуру и говорят, что это экономит время и нервы, но что-то я этого видимо еще не осознал ![]() Но всегда очень подробно комментирую код, иногда даже слишком подробно. Код становится грязнее, но зато и через год легко пойму что я там делал Последний раз редактировалось goodguy; 21.02.2011 в 18:42. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|