Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Флейм > Методы разработки программ |
Автор: Mastodont 4.4.2010, 13:04 | ||
На Вики нашел такой метод:
Что скажете насчет этого? Кто какими методами программы разрабатывает? |
Автор: DarkProg 4.4.2010, 13:22 |
Ну я так не пишу - хотя надо попробовать ради эксперимента и потом усовершенствовать собственный метод. Я обычно начинаю писать сначала, т.е. вход в систему или что-то подобное, а потом разрабатываю все формы(детальный дизайн каждой, обычно как я их разработал так они и остаются, за исключением случаев когда выясняется что что-то впоследствии оказалось дублем или вообще бессмысленным), потом каждый модуль по очереди в порядке нужности, а если есть 2 и более взаимосвязанных модуля, т.е. одни дёргают данные от других и возможность частичной проверки в принципе бессмысленна, то пишу всё скопом, потом трасиировка и получаю рабочий полностью код, а потом ещё сколько-то дней на доработку сообщений типа "эй, пользователь так нельзя, сюда не лезь и т.п.". А потом прогу можно дать какому-нить user'u тупо сказав "потыкай и попробуй разобраться" с небольшим пояснением что прога должна делать, потом опять отладка и всё - обычно после этого прогу можно считать готовой. |
Автор: NightmareZ 4.4.2010, 14:20 |
Плохо. Потому что крайность. Пишу ядро. Пишу юнит-тесты для него. Затем развиваю то, что есть. |
Автор: Mastodont 5.4.2010, 17:16 | ||
Почему крайность? |
Автор: NightmareZ 5.4.2010, 20:28 |
Потому что очень-очень редко бывает так, что структура программы изначально досконально известна. Я, например, за свою жизнь такого ни разу не встречал. |
Автор: k0rvin 5.4.2010, 20:46 | ||||
просто ты нихрена не понял из приведенной цитаты. повтор важной части:
по сабжу: весьма удобный и правильный подход, в общем-то ничего нового, просто декомпозиция |
Автор: NLspieler 5.4.2010, 20:50 |
На самом деле это очень хорошая методика. Но я обычно делаю все наоборот. Мне кажется так удобнее. Сперва разрабатываю дизайн, при этом становится полностью ясно, какой функционал нужно будет на все это нацепить. Потом, делаю из всего этого шаблоны, пишу функции/классы, которые помогают отображать отдельные элементы этого дизайна. Потом пишу классы/подпрограммы, которые отвечают за бизнес логику. И только потом собираю из этого готовую программу/скрипт. |
Автор: JackYF 5.4.2010, 20:57 |
Иногда пользуюсь чем-то подобным, когда хорошо себе представляю будущую структуру программы. И то, частенько приходится кое-где менять каркас потом, например, с целью достижения большей производительности. |
Автор: NightmareZ 5.4.2010, 23:10 | ||
Просто ты нихрена никогда не писал. Потому веришь в розовых слоников.
Ты неправильно думаешь. |
Автор: kemiisto 5.4.2010, 23:53 |
Где ты там крайность увидел? "Top-down" design (проектирование "сверху-вниз") - характерная черта структурного программирования. Когда Дейкстра (+Вирт, ...) предложили эту методологию, ООП не существовало. И речь, конечно же, шла о процедурном программировании. Тем не менее, методы - это теже процедуры. Так что их следует писать "сверху-вниз". Это раз. Два - деление программы на модули. Это тоже проектирование "сверху-вниз". Вот то-то и оно. Ядро ты как-то выделяешь. Опять-таки "сверху-вниз". ![]() Если включить в рассмотрение "мейнстримное" ООП, картина несколько меняется. Появляется место для "bottom-up" design (проектирование "снизу-вверх"). Обычно поступаем так:
Короче, смешано оно обычно получается. ![]() |
Автор: A5uKa 6.4.2010, 01:01 |
Я вот пишу справа на лево. У меня "Right Left" дизайн. Разработка всего сразу идёт паралельно и первым делом пишется то, что собственно пишется. Где оно находится по вертикали меня абсолютно не заботит, так как каждый раз стараюсь держать в голове не столь хитрую схему что где куда. Есть TODO лист, он делится на мажорный и минорный на которые каждый раз смотрю и черкаю. Если какая-то штука на экваторе требует переписания северного и южных полюсов переписываю всё. Переписываю всё постоянно. У меня ещё ни разу не было идеальных структур, поэтому я каждый раз всё меняю. Перехожу на другие системы шаблоны, бывает даже языки. Оптимизация идёт в процессе разработки. Тесты я не люблю, поэтому их вообще не делаю. Разве что когда мне кажется что оно более менее работает TODO лист бесконечно заполняется снова и снова... |
Автор: NightmareZ 6.4.2010, 01:08 | ||
Ну я какбэ об этом и говорил.
Я, конечно, их всех уважаю, но подходы теоретиков и практиков далеко не всегда совпадают. И, если в теории можно писать софт строго по определённой методологии, то на практике это оказывается геморроем. |
Автор: RockClimber 6.4.2010, 12:08 |
Во-во, у меня то же самое. Только в итоге почему-то получается как у той секретарши, которая печатала со скоростью 1200 знаков в минуту ![]() |
Автор: kemiisto 7.4.2010, 13:15 | ||
Согласен. Я просто развил мысль.
Тут у меня только один вопрос: "классиков" читали? Или как обычно, "Пастернака не читал, но презираю"? ![]() |
Автор: NightmareZ 7.4.2010, 13:56 | ||
За такие претензии в приличном обществе принято лицо бить. |
Автор: azesmcar 7.4.2010, 14:05 |
![]() ой мальчик ну расслабься, какой из тебя хакер, такой и бьющий лица..не в первый раз вижу подобную фигню в твоем исполнении. автору - это достаточно распространенный метод, полностью такое реализовать на практике вряд ли удастся, ибо зависимости, и.т.д итп...но частично эту методику применял и ее вполне можно признать рабочей. Лучше конечно исходить из ситуации. ![]() например иногда, чтобы проверить свой "заглушки" понадобиться писать столько лишнего кода, что это может оказаться неоправданным. По поводу неизвестности структуры программы - oбычно сперва продумывают структуру, пишут документ с описанием а потом переносят это все в код. |
Автор: NightmareZ 7.4.2010, 14:25 | ||
И не в первый раз тебя (и некоторых остальных) задевает, ибо не в первый раз на личности переходите. |
Автор: azesmcar 7.4.2010, 14:31 | ||
Меня это как раз совсем не задевает, я вырос из этого возраста, меня это забавляет и я не перехожу на личности, я лишь высказываю свое обоснованное мнение, возможно тебе будет неприятно его читать, но по характеру я человек прямой и меня это мало заботит. |
Автор: NightmareZ 7.4.2010, 15:53 | ||
Ну вот, теперь оправдываешься. |
Автор: azesmcar 7.4.2010, 15:56 |
Ты себе льстишь. |
Автор: Akella 7.4.2010, 16:48 |
ХВА! |
Автор: Mastodont 8.4.2010, 20:01 | ||||
Пользуешь?
Ну, вообще да, если программа большая, сразу все учесть сложно. А может и нет, не знаю.. =) Пишите еще. Мне очень интересно узнать о процессе разработки реальных программ. |