powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Стандартизация кода и общий процесс разработки приложений
19 сообщений из 44, страница 2 из 2
Стандартизация кода и общий процесс разработки приложений
    #35240854
MAPA3OT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как говориться, на вкус и цвет, все фломастеры - разные. Честно говоря, поимел некое время назад много секеса с названиями переменных, так что теперь даже за то, что человек назвал Int-овую переменную/функцию ia, а не просто a, уже готов говорить спасибо.
Ну а уж за грамотную спецификацию - огромное спасибо :)
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35240934
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле подобный вопрос давно меня интересует, должен-ли программист быть в какой-то степени перфекционистом ? Ведь понятно, что сам по-себе спагетти код никуда не годиться, но в то-же время у меня часто бывают ситуации, когда мой код мне не нравиться, хотя он вполне читаем (с моей точки зрения), но в то-же время я ведь вижу, что можно что-то улучшить - тут выделить в отдельный метод, тут чуть подправить и переименовать итп. Ведь хочеться-же достигнуть своеобразного грааля программирования - что-бы каждый класс являл собой четкую и ясную сущность, без примеси "подозрительных" с точки зрения его интерфейса методов, каждый метод имел ясное название и делал-бы только то, что написано в его названии и ничего другого, и так далее (не один десяток таких-вот пожеланий) по стопам великих и ужастных Фаулера, Макконнела и прочих компьютерных умов нашего времени.
Но ведь у подобного вылизывания есть один недостаток - поглащаемое время, и так сложно иногда определиться, хватит тут рефакторить, или стоит еще немного улучшить ...
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35240981
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSНа самом деле подобный вопрос давно меня интересует, должен-ли программист быть в какой-то степени перфекционистом ?
Боюсь, внятной статистики на этот счет ни у кого нет, поэтому вопрос вкусов. Имхо - да.

StalkerSно в то-же время я ведь вижу, что можно что-то улучшить .... Но ведь у подобного вылизывания есть один недостаток - поглащаемое время,
Вообще говоря, понятие качества кода во всех его вариациях сводится ровно к противоположному - к экономии времени. Тут прогрессия: если сегодня хорошо поработал, завтра тебе будет легко и просто; если сегодня схалтурил, завтра придется разгребать, послезавтра завалит, а потом и вообще уже никогда ни на что не хватит времени - знай только, вставляй костыли за скрепляй разваливающуюся хрень. Любимое на тему... замени "дом" на "программу" и будет в нашу действительность

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
КАРИАТИДЫ

Что-то где-то происходит... Ладно, ну и пусть бы.
Люди рушат и возводят здания и судьбы.
Судьбы лепятся, как стены, и, как бюсты, чувства.
Тоже, милый, всё священно, тоже, брат, искусство!
Вот так, а ты как думал?

Строишь славное строенье, вроде всё как надо:
барельефы, обрамленье, крыша, анфилада,
слева виды, справа виды, ходы-переходы,
по бокам кариатиды подпирают своды.

Не забыл, и слава Богу, нанести орнамент.
Что ж забыл? Забыл немного - заложить фундамент.
Вот те раз! А впрочем, слушай, что же тут такого!
Можешь сразу всё порушить и построить снова.

Мастерство свое утроить можешь, Бог с тобою.
А ломать - оно не строить. Так же и с судьбою.
Скажем, вышла неплохая крепкая обитель,
но изъяны различает только сам строитель.

Если он принципиальный, даже средь оваций,
даже если шум похвальный будет раздаваться,
гонор свой подальше сунет, не внимая гвалту,
отойдёт, посмотрит, сплюнет и возьмёт кувалду...

Был бы я такой же честный, я б не сомневался,
я б за свой домишко тесный этак не держался,
я размёл его дотла бы и построил новый.
Но такой, видать, я слабый али бестолковый.

Не гнетёт меня какая злость или обида.
Просто дом я подпираю, как кариатида.
Только выдержка мужская, а иных манер - шиш.
Ни на миг не отпускает свод, который держишь.

Вот такая, брат, картина, маюсь, рот раззявив.
Если, скажем, ты скотина, - знай своих хозяев.
Будь ты ангел или гнида - знай своё местечко.
Если ж ты кариатида - знай своё крылечко!

Что-то где-то происходит, ладно, ну и пусть бы.
Люди сносят и возводят здания и судьбы.
А тебе-то что до них, до сутолоки разной?
Если ты кариатида - стой и подпирай знай.
Вот так оно всю жизнь. А ты как думал?

1982
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35241077
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer StalkerSНа самом деле подобный вопрос давно меня интересует, должен-ли программист быть в какой-то степени перфекционистом ?
Боюсь, внятной статистики на этот счет ни у кого нет, поэтому вопрос вкусов. Имхо - да.

StalkerSно в то-же время я ведь вижу, что можно что-то улучшить .... Но ведь у подобного вылизывания есть один недостаток - поглащаемое время,
Вообще говоря, понятие качества кода во всех его вариациях сводится ровно к противоположному - к экономии времени. Тут прогрессия: если сегодня хорошо поработал, завтра тебе будет легко и просто; если сегодня схалтурил, завтра придется разгребать, послезавтра завалит, а потом и вообще уже никогда ни на что не хватит времени - знай только, вставляй костыли за скрепляй разваливающуюся хрень. Любимое на тему... замени "дом" на "программу" и будет в нашу действительность


Могу добавить еще одну сентенцию, от себя - "правильный и неправильный код пишется одинаковое время".

"А если нет разницы...."
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35242897
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Боюсь, внятной статистики на этот счет ни у кого нет, поэтому вопрос вкусов. Имхо - да.
...
Вообще говоря, понятие качества кода во всех его вариациях сводится ровно к противоположному - к экономии времени.

все оно конечно так, но ведь совершенство-то недостижимо по определению, да и как известно лучшее враг хорошего, вот и приходиться думать, когда-же остановиться. Надо ловить какой-то призрачный баланс между временем и степенью совершенства (или степенью убожества, когда как ), что довольно непросто

Николай1
Могу добавить еще одну сентенцию, от себя - "правильный и неправильный код пишется одинаковое время".

если-бы это было так, то мы-бы уже давно жили при коммунизме, еда в магазинах была-бы бесплатной, а работать надо было-бы только один час в неделю, да и в этот час нечего особо делать было-бы не надо ;)
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35242921
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКогда "одну задачу пишет один человек", неприятные коллизии бывают намного чаще. Вида "через полгода посмотрели, что же он сделал, и охренели".

А слова "более-менее"-то специально выкинули? Равно как и предложение, где про них особо говорилось.
Если программисты у вас раз в полгода в чужой код поглядывают - это клинично. Раз в полдня - еще куда ни шло. Если первый напишет бред, то второй, которому нужен код первого, заглянув туда в очередной раз, ужаснется немедленно. И к концу рабочего дня всё опять примет адекватный вид.

softwarerЕсли уж дело дошло до diff-ов, надо пользоваться нормальными инструментами и нормальными технологиями, а не пережитками позапрошлого века. Но сами по себе diff-ы имеют крайне мало отношения к делу.

Подскажите мне инструмент и технологию, которая из двух на 50% законченных листингов, описывающих одно и то же (но конечно же, разными способами), соберет один рабочий.
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35243047
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_ShadoWА слова "более-менее"-то специально выкинули?
Выкинул как бессмысленные. Во всяком случае, тонкости смысла идиомы "более-менее один человек" для меня трудноуловимы. Я так понимаю, имеется в виду нечто типа "чаще один, иногда например двое".

The_ShadoWПодскажите мне инструмент и технологию, которая из двух на 50% законченных листингов, описывающих одно и то же (но конечно же, разными способами), соберет один рабочий.
Лом стальной, длина 1200мм. Применяется сначала к головам разработчиков (которые независимо делают одно и то же), а потом к анусу руководителя проектов (который им это сказал). Ну или наоборот, как удобнее.

Если же разработчики делают не одно и то же, а разные вещи в одном файле, все тривиально. Сначала с помощью лома проводится внушение тому, кто хочет применять diff, потом учим разработчиков правильной технологии использования любого visual merge.
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35243138
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSвсе оно конечно так, но ведь совершенство-то недостижимо по определению, да и как известно лучшее враг хорошего, вот и приходиться думать, когда-же остановиться.
Не знаю, не знаю. Это утверждение и последующие исходят из предположения, что "пишем плохо, надо улучшать". А я предпочитаю сразу писать хорошо :) Конечно, через какое-то время можешь осознать ошибки, набрать практику применения или увидеть новую идею - ну так берешь и улучшаешь.

StalkerS Николай1
Могу добавить еще одну сентенцию, от себя - "правильный и неправильный код пишется одинаковое время".

если-бы это было так, то мы-бы уже давно жили при коммунизме, .....
Ошибаетесь. Во всяком случае, я куда более согласен с Николаем. Плохой код пишут не потому, что быстрее (хотя этим чаще всего оправдываются), а потому что для этого не требуется думать. Реально плохой код не сказать что быстрее в момент написания и резко медленнее в плане последующих затрат на исправление.

Здесь стоит учесть, что "хороший код" - вовсе не то же самое, что и "код, строго соответствующий выкладкам известного теоретика Х, примененным в самом неподходящем месте самым неудачным образом".
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35243587
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Не знаю, не знаю. Это утверждение и последующие исходят из предположения, что "пишем плохо, надо улучшать". А я предпочитаю сразу писать хорошо :) Конечно, через какое-то время можешь осознать ошибки, набрать практику применения или увидеть новую идею - ну так берешь и улучшаешь.

ну во-первых "хорошо" и "совершенно" - разные веши :) Или вы предпочитаете сразу писать совершенный код ? ;)

Все предпочитают сразу писать хорошо. Только не всегда это получается. По мере написания лучше вникаешь в требования, осознаешь свои собственные ошибочные предположения, меняются сами требования. Все это приводит к изменениям.
В конце концов даже окинув взглядом готовый класс можно вдруг осознать, что лучше было-бы сделать немного не так. Иногда даже идя по улице вдруг осознаешь какое-нибудь белое пятно, которое ты в упор не видел долгое время. После чего, как вы правильно написали, берешь и улучшаешь. Видишь, что еще можно улучшить и улучшаешь. Потом еще. Потом видишь число на календаре и начинаешь задумываться о недостижимости совершенства :)

softwarer
Ошибаетесь. Во всяком случае, я куда более согласен с Николаем. Плохой код пишут не потому, что быстрее (хотя этим чаще всего оправдываются), а потому что для этого не требуется думать. Реально плохой код не сказать что быстрее в момент написания

хм, вы с Николаем тратите одинаковое время на придумывание имени метода DoSomeStuff() и CalculateTotalBalance() ? Вы с Николаем за пару мгновений выделяете общее из пары похожих методов в отдельное место ? Вы с Николаем в мгновение ока перемещаете методы между классами ?
Что-ж, вы с Николаем гении. Я вам завидую. А вот я не гений. Мне, что-бы что-то изменить в коде требуется некоторое время. Что-бы вместо одного здорового метода с уродским названием в левом классе, написать пару методов с ясными именами и вписывающимися в интерфейс своих классов мне тоже требуется время. Иногда оно не очень большое, иногда очень.

softwarer
резко медленнее в плане последующих затрат на исправление.

с этим не поспоришь
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35243664
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSну во-первых "хорошо" и "совершенно" - разные веши :) Или вы предпочитаете сразу писать совершенный код ?
Разные. Признаться, не очень представляю себе "совершенный код" с практической точки зрения. Если считать, что это код, к которому трудно предъявить обоснованные претензии "что улучшить", то в моем понимании хороший код и совершенный станут примерно одним и тем же :)

StalkerSВсе предпочитают сразу писать хорошо. Только не всегда это получается. По мере написания лучше вникаешь в требования, осознаешь свои собственные ошибочные предположения, меняются сами требования. Все это приводит к изменениям.
Именно. Можно и нужно менять по ходу, и заметных затрат времени это не требует.

StalkerSхм, вы с Николаем тратите одинаковое время на придумывание имени метода DoSomeStuff() и CalculateTotalBalance() ?
Не знаю как Николай, но в общем-то да. Более того, я абсолютно уверен в том, что если решение хорошо продумано, каждый участвующий в нем объект тривиально именуется. Затруднения в придумывании имени (а также желание иметь анонимные объекты, что возможно в некоторых языках) с моей точки зрения означают ровно одно: решение не продумано, программист не совсем понимает, что будет делать объект и зачем, поэтому и название под вопросом.

StalkerS Вы с Николаем за пару мгновений выделяете общее из пары похожих методов в отдельное место ?
Лично я, собираясь написать несколько строк, и вспоминая, что "похожее я уже писал", не испытываю проблем с тем, чтобы вместо прискорбно типичного Ctrl-C Ctrl-V выделить метод. И времени на это тратится.... ну вот честно, по сравнению например с написанием хорошего набора юнит-тестов к тому же коду о таких тратах и говорить-то бредово. А хороший код, кстати, существенно экономит время на юнит-тесты :)

StalkerSМне, что-бы что-то изменить в коде требуется некоторое время. Что-бы вместо одного здорового метода с уродским названием в левом классе, написать пару методов с ясными именами и вписывающимися в интерфейс своих классов мне тоже требуется время. Иногда оно не очень большое, иногда очень.
Хм. Скажем так, по моим представлениям работы пальцами здесь секунды.
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35243886
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Именно. Можно и нужно менять по ходу, и заметных затрат времени это не требует.

мне почему-то кажется, что это сильно зависит от того, что конкретно меняется ;)

softwarer
Более того, я абсолютно уверен в том, что если решение хорошо продумано, каждый участвующий в нем объект тривиально именуется. Затруднения в придумывании имени (а также желание иметь анонимные объекты, что возможно в некоторых языках) с моей точки зрения означают ровно одно: решение не продумано, программист не совсем понимает, что будет делать объект и зачем, поэтому и название под вопросом.

угу. А что-бы решение было хорошо продумано, времени-то случаем не надо тратить ? Вы-б еще сказали, что если решение продумано вплоть до названия каждой переменной, то набирание кода не отнимет много времени. Ну да, не отнимет, кто-бы спорил :)

softwarer
Лично я, собираясь написать несколько строк, и вспоминая, что "похожее я уже писал", не испытываю проблем с тем, чтобы вместо прискорбно типичного Ctrl-C Ctrl-V выделить метод. И времени на это тратится.... ну вот честно, по сравнению например с написанием хорошего набора юнит-тестов к тому же коду о таких тратах и говорить-то бредово.

в общем, затраты на рефакторинг у вас пренебрежительно малы. Что-ж, могу вас только поздравить с этим замечательным фактом. Но судя по всему, это не везде так, ибо зачем тогда тому-же Фаулеру вводить в свою книгу подглаву "Уменьшение стоимости рефакторинга" ?

softwarer
Хм. Скажем так, по моим представлениям работы пальцами здесь секунды.

в смысле секунды ? Напечатать в редакторе код ? А думать, в какие классы поместить методы и как они будут выглядеть и называться, будет сам редактор кода ? Мне-б такой редактор ;)
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35244232
edges7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS ...
Все предпочитают сразу писать хорошо. Только не всегда это получается. По мере написания лучше вникаешь в требования, осознаешь свои собственные ошибочные предположения, меняются сами требования. Все это приводит к изменениям.
В конце концов даже окинув взглядом готовый класс можно вдруг осознать, что лучше было-бы сделать немного не так. ... Видишь, что еще можно улучшить и улучшаешь. Потом еще. Потом видишь число на календаре и начинаешь задумываться о недостижимости совершенства :)

К сожалению, это горькая правда.
Написать все верно и с первого раза довольно проблематично. Да, наверное, это просто невозможно. Если бы все сразу всё правильно проектировали, писали совершенный код, то тогда просто не существовало бы такого понятия, как "рефакторинг". И тогда бы ни Макконнелы, ни Фаулеры не издавали бы свои замечательные руководства, не издавалась бы литература по шаблонам проектирования.
P.S. Да и это было бы просто скучно. :) Но это вовсе не означает, что не нужно стремиться к совершенству.
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35244475
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSмне почему-то кажется, что это сильно зависит от того, что конкретно меняется ;)
Безусловно. Я говорю о случае "пишешь хороший код и по ходу дела соображаешь, что пару помарок таки допустил".

StalkerSугу. А что-бы решение было хорошо продумано, времени-то случаем не надо тратить ?
Надо. И что самое удивительное - примерно столько же, сколько нужно, чтобы решение было плохо продумано. Разница при этом в том, работает ли мозг как должно или вхолостую.

StalkerSв общем, затраты на рефакторинг у вас пренебрежительно малы.
Уточню: на рефакторинг "прямо по ходу создания", о котором мы и говорим в смысле "совершенствовать можно до бесконечности". Разумеется, со временем меняются требования, появляются новые задачи и новые модули, появляется новый взгляд на систему - это уже порой требует рефакторинга вплоть до "все переписать".

StalkerSв смысле секунды ? Напечатать в редакторе код ? А думать, в какие классы поместить методы и как они будут выглядеть и называться, будет сам редактор кода ? Мне-б такой редактор ;)
Не понимаю я Вас, честно. Если я хочу разбить на части большую процедуру НарисоватьЧеловечка, у меня как-то не возникает вопроса с названиями процедур НарисоватьРуку, НарисоватьНогу и ГдеТоЗдесьДолжнаБытьГолова. Ну максимум сходить на мультитран за английским термином.
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35246381
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Безусловно. Я говорю о случае "пишешь хороший код и по ходу дела соображаешь, что пару помарок таки допустил".

а если помарка большая ? Например осознал, что иерархия классов неверная ? Вы это тоже на пару минут переделаете ?

softwarer
Надо. И что самое удивительное - примерно столько же, сколько нужно, чтобы решение было плохо продумано.

действительно удивительно. Первый раз слышу подобную мысль. Всегда думал, что что-бы сделать что-то хорошее, надо приложить больше сил и времени.
Возможно вы имеете ввиду ситуацию, когда решаемая проблема знакома разработчику, и ему действительно не надо напрягаться для создания решения (либо сама задача тривиальна). Действительно, мозг подключать почти не надо, все сделается почти на автомате. Но часто-ли такое происходит ? Имхо нет. Хотя действительно, у кого как ...

softwarer
Уточню: на рефакторинг "прямо по ходу создания", о котором мы и говорим в смысле "совершенствовать можно до бесконечности". Разумеется, со временем меняются требования, появляются новые задачи и новые модули, появляется новый взгляд на систему - это уже порой требует рефакторинга вплоть до "все переписать".

теоретически, "все переписать" может случиться и без изменения требований вообще. Ну поняли, что выбрали кардинально не тот путь. И если есть желание совершенствовать - то ...

softwarer
Не понимаю я Вас, честно. Если я хочу разбить на части большую процедуру НарисоватьЧеловечка, у меня как-то не возникает вопроса с названиями процедур НарисоватьРуку, НарисоватьНогу и ГдеТоЗдесьДолжнаБытьГолова. Ну максимум сходить на мультитран за английским термином.

а если взять что-нибудь посложнее человечка ? Например моделирование полета сверхзвукового истребителя ? Тоже никаких вопросов не возникнет ?

Боюсь сказать банальную вешь, но при программировании приходиться принимать массу решений буквально на каждом шаге (собственно как и в любой инженерной науке, по сути программисты те-же конструктора истребителей или автомобилей). Если вы хотите, что-бы ваш истребитель быстро летал, метко стрелял и не разваливался в воздухе - будьте добры внимательно подумать над его конструкцией, а если в ходе проектирования выяснился промах - что-то в нем переделать.
Каким образом это может занять одинаковое время с проектированием чуда техники, у которого отвалятся крылья при попытке пилота завести двигатель ?
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35251206
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerВыкинул как бессмысленные. Во всяком случае, тонкости смысла идиомы "более-менее один человек" для меня трудноуловимы. Я так понимаю, имеется в виду нечто типа "чаще один, иногда например двое".

Имеется в виду один (1) автор кода и несколько (1-...) человек, которые не являются авторами (т.е. сами этот код не пишут\не дописывают) однако смотрят туда либо по долгу своей работы, когда им для своей части нужен код автора, либо просто ради интереса заглядывают.

softwarerЕсли же разработчики делают не одно и то же, а разные вещи в одном файле, все тривиально. Сначала с помощью лома проводится внушение тому, кто хочет применять diff, потом учим разработчиков правильной технологии использования любого visual merge.

Смысл этой "правильной технологии" основывается на всё том же банальном diff, однако с более крутым внешним представлением. Когда я писал про "diff", я имел в виду сам принцип. А не собственно программу музейной древности с консольным выводом.
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35251837
codeconv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фсё уже придумано до вас http://java.sun.com/docs/codeconv/
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35251857
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSа если помарка большая ? Например осознал, что иерархия классов неверная ?
Мм.. а это еще входит в "пишешь хороший код"?

StalkerSа если взять что-нибудь посложнее человечка ? Например моделирование полета сверхзвукового истребителя ? Тоже никаких вопросов не возникнет ?
Если я плотно работаю с моделированием полетов, то в чем их принципиальное отличие от человечка?

StalkerSЕсли вы хотите, что-бы ваш истребитель быстро летал, метко стрелял и не разваливался в воздухе - будьте добры внимательно подумать над его конструкцией, а если в ходе проектирования выяснился промах - что-то в нем переделать. Каким образом это может занять одинаковое время с проектированием чуда техники, у которого отвалятся крылья при попытке пилота завести двигатель ?
Очень простым. Процесс "проектирования чуда техники" приводит к тому, что крылья у него отваливаются гораздо раньше, еще когда двигатели не смонтированы. Их кое-как прилепляют жевательной резинкой, монтируют двигатели и обнаруживают хвостовое оперение на носу. Переносят - оказывается, оно так поддерживало крылья, и теперь те снова отвалились. В итоге до момента первого запуска двигателей проходит нисколько не меньше времени, скорее наоборот. Ну а качество результата...
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35255514
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для тех, кто до сих пор верит, что getWorkTime(плохой_код) < getWorkTime(хороший_код):

1) Во-первых, собственно написание кода всегда как минимум неявно разделено на "написание" и "проектирование". Иногда разделено явно, но в массе случаев деление идет не далее головы программиста. Однако оно всегда присутствует.
2) Хороший_код требует N времени на проектирование. Плохой код требует 0 времени на проектирование, но X > N времени на "доработку напильником".
3) Под словами "написали <хороший\плохой> код" следует понимать "написали код, и он работает как надо". А вовсе не "написали код, а теперь поехали тестировать". В последнем случае действительно на формальное написание плохого_кода уйдет меньше времени, однако еще будет далеко не нулевой период от момента "код написан" до момента "код работает как надо".

И в итоге подход "написать как выйдет, а потом поправить" всегда и везде длинее подхода "обдумать и написать максимально хорошо". Разумеется, когда программист не шибко хорошо знаком с предметной областью задачи, либо с применяемыми инструментами (учится/осваивается/врубается в проблему) - писать "сразу хорошо" едва ли выйдет. Однако к этому нужно стремиться, и это вовсе не идеал в бесконечности, а вполне нормальный рабочий подход.
...
Рейтинг: 0 / 0
Стандартизация кода и общий процесс разработки приложений
    #35269966
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edges7 StalkerS ...
Все предпочитают сразу писать хорошо. Только не всегда это получается. По мере написания лучше вникаешь в требования, осознаешь свои собственные ошибочные предположения, меняются сами требования. Все это приводит к изменениям.
В конце концов даже окинув взглядом готовый класс можно вдруг осознать, что лучше было-бы сделать немного не так. ... Видишь, что еще можно улучшить и улучшаешь. Потом еще. Потом видишь число на календаре и начинаешь задумываться о недостижимости совершенства :)

К сожалению, это горькая правда.
Написать все верно и с первого раза довольно проблематично. Да, наверное, это просто невозможно. Если бы все сразу всё правильно проектировали, писали совершенный код, то тогда просто не существовало бы такого понятия, как "рефакторинг". И тогда бы ни Макконнелы, ни Фаулеры не издавали бы свои замечательные руководства, не издавалась бы литература по шаблонам проектирования.
P.S. Да и это было бы просто скучно. :) Но это вовсе не означает, что не нужно стремиться к совершенству.

Надо писать такой код, который легко поддается рефакторингу.
Не надо заранее гадать - будет то, что я сейчас пишу отдельным классом-методом или нет.
Если код выделяется в отдельный логический блок, то надо его выделить в самый простой, впроть до
{
}
только надо постараться сделать его отторгаемым.

Потом, если этот код понадобиться повторить, то можно будет его "отторгнуть" и куда-нибудь приспособить (в класс, метод, библиотеку). Это, в общем, не долго.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Стандартизация кода и общий процесс разработки приложений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]