|
|
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_runИтак начнем 1) "У меня два или три приложения загнулись на стадии разработки из-за того, что я сначала начинал в стили microsoft, а потом (когда 30 процентов или больше кода уже было), на gnu. там уже из-за этого ничего под конец нельзя было понять!." Если программист сам не может понять свой код, который он написал.... то это результат: а) отсутсвие структурированности солюшена и четко ограниченных модулей которые выполнают оперделенный круг задач. б) отсутсвие комментарий. в) отсутсвие алгоритма и (или) спецификации по которой разрабатывается приложение. г) безобразное написание кода, использование переменных типа myParam1 a p1 s1 или s4, дублирование кода, использование слишком длинных методов и т.п. 2) "кхм... я же сам себе руководством был! :)" Соотвественно все вышеперечисленное Ваши ошибки. 3)На соответсвенно здравое замечание "Нельзя же так регулярно переоценивать свои силы. Попытки сразу построить небоскреб (или вечный двигатель) при отсутствии элементарного строительного опыта (не знания цикла Карно) приведут только к куче битых кирпичей (или "мучительной боли за бесцельно прожитые годы"). "Учиться, учиться и учиться" вам батенька надо и на своих ошибках тоже." Это ваши собственные выводы, или они где либо изложены. Если изложены, то можно ли ссылочку, а если нет, то может быть изложите. Многим программиста, особенно начинающим это сильно поможет. К сожалению, не всегда можно найти грамотного руководства (у нас в Азербайджане, я еще не встречал:( и приходится варится в своем соку. Все что вы перечислили очень похож на мой диагноз, особенно годичной давности. Хотел уточнить пункт про: использование переменных типа myParam1 a p1 s1 или s4, дублирование кода. Можно про это поподробнее? Вы имеете ввиду, что каждой переменной надо давать осмысленные имена? Даже буферным, которые будут использованы только в двух сточках кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 10:12 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Homosum Хотел уточнить пункт про: использование переменных типа myParam1 a p1 s1 или s4, дублирование кода. Можно про это поподробнее? Вы имеете ввиду, что каждой переменной надо давать осмысленные имена? Даже буферным, которые будут использованы только в двух сточках кода? По всей видимости имелось именно это. Буферные обычно именуют соответственно buf, buf_elem, buf_recv, ... Также, например в делфи, например, параметрам функций, к имени переменной добавляют символ, обозначающий параметр, например a. Если в классе есть свойство с именем Svoivstvo, то функция устанавливаящая это свойство будет, например, иметь параметр aSvoistvo. И так далее по всему коду. А использование переменных, это прерагатива книг, по стилю программированию. Их можно поискать в инете. Кстати, в этом топике, какая-то ссылка уже была. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 10:24 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_runг) использование переменных типа myParam1 a p1 s1 или s4 Вспомнилось. Был у меня случай с относительно небольшим кодом, строк так на 20 тыс. И там была куча функций принимающих пару аргументов, различного рода компараторы, поисковики, модификаторы и прочие. Сколько не пробовал писать разные там first + second, никак не получалось добиться читаемости. Только когда перешел на идентификаторы вида ptr1 + ptr2, i1 + i2, n1 + n2 все стало на свои места. Ну читаются они именно так как используются по смыслу - указатель первый и указатель второй. :-))) Хуже того, можно было использовать и ptr[1] + ptr[2] :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 10:57 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
HomosumХотел уточнить пункт про: использование переменных типа myParam1 a p1 s1 или s4, дублирование кода. Можно про это поподробнее? Вы имеете ввиду, что каждой переменной надо давать осмысленные имена? Даже буферным, которые будут использованы только в двух сточках кода? Про переменные вам уже рассказали... можно добавить про дублирование кода и длину методов... Если в программе в нескольких местах выполняются похожие действия, то целессобразно выносить такие куски кода в отдельные функции, причём функции должны быть по-возможности лаконичными и выполнять только то, для чего предназначены. Вроде простое и понятное правило, но не всегда выполняется... Интересно, что некотрые крупные софтверные компании строго следят за его выполнением своими кодерами. Если исходный код включает методы слишком большой длины, то производится рефакторинг кода, то есть разбиение на более мелкие куски с выделением в отдельные методы. Где-то встречал, что оптимальной считается длина метода около 60-ти строк... вроде бы при этом сводится к минимуму (в определённой степени) вероятность багов в данном методе, да и при тестировании/сопровождениями намного проще работать с такими "атомами" кода, чем с километровыми супер-функциями с тучей параметров... А вообще - ковыряйте веб, недостатка в информации по данной тематике быть не должно. To ALL Раз уж подняли эту тему и топик упорно не хочет тонуть в глубинах форума, то есть предложение выносить сюда линки на интересные или понравившиеся вам статьи/книги, затрагивающие вопросы стиля программирования, содержащие советы/правила по кодированию, проектированию, тестированию софта..... А то обсуждать можно долго, но бы было интересней (и полезней) почитать что-нибудь стоящее... Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 11:13 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ну я road_runг) использование переменных типа myParam1 a p1 s1 или s4 Вспомнилось. Был у меня случай с относительно небольшим кодом, строк так на 20 тыс. И там была куча функций принимающих пару аргументов, различного рода компараторы, поисковики, модификаторы и прочие. Сколько не пробовал писать разные там first + second, никак не получалось добиться читаемости. Только когда перешел на идентификаторы вида ptr1 + ptr2, i1 + i2, n1 + n2 все стало на свои места. Ну читаются они именно так как используются по смыслу - указатель первый и указатель второй. :-))) Хуже того, можно было использовать и ptr[1] + ptr[2] :-))) Вот, вот... про подобное я уже писал в начале топика (из-за чего весь сыр бор пошел ). В таких случаях, для меня например удобнее использовать разные стили программирования. Удобнее отделять одно от другого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 11:34 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Homosum Это ваши собственные выводы, или они где либо изложены. Если изложены, то можно ли ссылочку, а если нет, то может быть изложите. Многим программиста, особенно начинающим это сильно поможет. К сожалению, не всегда можно найти грамотного руководства (у нас в Азербайджане, я еще не встречал:( и приходится варится в своем соку. Все что вы перечислили очень похож на мой диагноз, особенно годичной давности. Хотел уточнить пункт про: использование переменных типа myParam1 a p1 s1 или s4, дублирование кода. Можно про это поподробнее? Вы имеете ввиду, что каждой переменной надо давать осмысленные имена? Даже буферным, которые будут использованы только в двух сточках кода? В силу обстоятельств весьма интересовался данной областью пожалуй лучшее из того что читал это "Рефакторинг: улучшение существующего кода" вот ссылка http://www.books.ru/shop/books/30436 . Мне очень понравилось понятие данное в книге "дурно пахнущий код"..... To All Я столкнулся с проблемой проводя исследования различных инструментов рефакторинга для c++ я практически ничего не обнаружил... Единственная достойная утилита ref++ (вернее плагин для vs2003-2005). После ее использования в течении дня больше с ней расставатся не хочется... Единственный минус она триальная... All я предлагаю поделится со страждущими сслыками на инструменты для рефакторинга под c++... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 12:05 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Homosum road_runИтак начнем 1) "У меня два или три приложения загнулись на стадии разработки из-за того, что я сначала начинал в стили microsoft, а потом (когда 30 процентов или больше кода уже было), на gnu. там уже из-за этого ничего под конец нельзя было понять!." Если программист сам не может понять свой код, который он написал.... то это результат: а) отсутсвие структурированности солюшена и четко ограниченных модулей которые выполнают оперделенный круг задач. б) отсутсвие комментарий. в) отсутсвие алгоритма и (или) спецификации по которой разрабатывается приложение. г) безобразное написание кода, использование переменных типа myParam1 a p1 s1 или s4, дублирование кода, использование слишком длинных методов и т.п. 2) "кхм... я же сам себе руководством был! :)" Соотвественно все вышеперечисленное Ваши ошибки. 3)На соответсвенно здравое замечание "Нельзя же так регулярно переоценивать свои силы. Попытки сразу построить небоскреб (или вечный двигатель) при отсутствии элементарного строительного опыта (не знания цикла Карно) приведут только к куче битых кирпичей (или "мучительной боли за бесцельно прожитые годы"). "Учиться, учиться и учиться" вам батенька надо и на своих ошибках тоже." Это ваши собственные выводы, или они где либо изложены. Если изложены, то можно ли ссылочку, а если нет, то может быть изложите. Многим программиста, особенно начинающим это сильно поможет. К сожалению, не всегда можно найти грамотного руководства (у нас в Азербайджане, я еще не встречал:( и приходится варится в своем соку. Все что вы перечислили очень похож на мой диагноз, особенно годичной давности. Хотел уточнить пункт про: использование переменных типа myParam1 a p1 s1 или s4, дублирование кода. Можно про это поподробнее? Вы имеете ввиду, что каждой переменной надо давать осмысленные имена? Даже буферным, которые будут использованы только в двух сточках кода? кроме вышеперечисленных элементарных навыков (2 road_run- которые,я кстати давно уже знаю и юзаю). напарывался, например,на утверждение, что "нормальная" программа должна проходить проверку правописания в Word'е. Что касается имен по типу p1, p2, то из-за них возникают проблемы, когда код переваливает по объёму за 50 килобайт, но быват так, что возникает ошибка и в банальных функциях в три строки. отсутствие комментариев даёт проблемы через пару недель после того, как код был благополучно положен "на полочку". Они нужны в эти случаях. Я бы вообще порекомендовал кроме "верёвки достаточной длины, чтобы выстрелить себе в ногу", "C++ Unleashed", книги по "экстремальному програмированию". Там интересные вещи рассказываются как раз о проектировании программ. Кроме того есть советы и в книгах типа "Programming Windows Xth edition". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 15:12 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV кроме вышеперечисленных элементарных навыков (2 road_run- которые,я кстати давно уже знаю и юзаю). напарывался, например,на утверждение, что "нормальная" программа должна проходить проверку правописания в Word'е. Не согласен. По моему мнению это стеб. P.s. Не надо личных намеков. Человек уважаем за то, что он говорит, а не за то, что говорят о нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 15:24 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Akh ErV кроме вышеперечисленных элементарных навыков (2 road_run- которые,я кстати давно уже знаю и юзаю). напарывался, например,на утверждение, что "нормальная" программа должна проходить проверку правописания в Word'е. Не согласен. По моему мнению это стеб. P.s. Не надо личных намеков. Человек уважаем за то, что он говорит, а не за то, что говорят о нем. Знаешь, по-моему как раз был не стёб. Большая часть из той книги как раз таким методом и была написана - можно сказать, что английский текст. ЗЫ. фиг с ними с "намёками". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 15:28 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV Akh ErV кроме вышеперечисленных элементарных навыков (2 road_run- которые,я кстати давно уже знаю и юзаю). напарывался, например,на утверждение, что "нормальная" программа должна проходить проверку правописания в Word'е. Не согласен. По моему мнению это стеб. P.s. Не надо личных намеков. Человек уважаем за то, что он говорит, а не за то, что говорят о нем. Знаешь, по-моему как раз был не стёб. Большая часть из той книги как раз таким методом и была написана - можно сказать, что английский текст. Как будут называться переменные "ip-адрес отправителя", "ip-адрес получателя", "порт отправителя", "порт получателя"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 15:43 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Akh ErV Akh ErV кроме вышеперечисленных элементарных навыков (2 road_run- которые,я кстати давно уже знаю и юзаю). напарывался, например,на утверждение, что "нормальная" программа должна проходить проверку правописания в Word'е. Не согласен. По моему мнению это стеб. P.s. Не надо личных намеков. Человек уважаем за то, что он говорит, а не за то, что говорят о нем. Знаешь, по-моему как раз был не стёб. Большая часть из той книги как раз таким методом и была написана - можно сказать, что английский текст. Как будут называться переменные "ip-адрес отправителя", "ip-адрес получателя", "порт отправителя", "порт получателя"? Согласен. Здесь - только через подчерки (ip_sender_adress, ip_receiver_adress, sneder_port, reciever_port). Как я понял, предполагалось, ворд должен подчерки игнорировать. :) Но здесь возможен вариант, когда эти переменные будут полями класса соответственно: sender->port sender->ip и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 15:56 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV Но здесь возможен вариант, когда эти переменные будут полями класса соответственно: sender->port sender->ip и т.д. А функции API? Их нельзя использовать? А как называть свои функции и методы? Всегда можно обойтись одним словом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:02 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVкроме вышеперечисленных элементарных навыков (2 road_run- которые,я кстати давно уже знаю и юзаю). напарывался, например,на утверждение, что "нормальная" программа должна проходить проверку правописания в Word'е. Что касается имен по типу p1, p2, то из-за них возникают проблемы, когда код переваливает по объёму за 50 килобайт, но быват так, что возникает ошибка и в банальных функциях в три строки. отсутствие комментариев даёт проблемы через пару недель после того, как код был благополучно положен "на полочку". Они нужны в эти случаях. Я бы вообще порекомендовал кроме "верёвки достаточной длины, чтобы выстрелить себе в ногу", "C++ Unleashed", книги по "экстремальному програмированию". Там интересные вещи рассказываются как раз о проектировании программ. Кроме того есть советы и в книгах типа "Programming Windows Xth edition". То есть вы ведете разработку по по технологии XP? И что же там интересного рассказывается? И какая разница сколько кода написано или человек пишет грамотно или безграмотно - третьего не дано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:13 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
[quot ErV] отсутствие комментариев даёт проблемы через пару недель после того, как код был благополучно положен "на полочку". Они нужны в эти случаях. [quot] Да совсем забыл - пишите так что бы ваш код можно было использовать многократно . Спасибо что ErV мне напомнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:16 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_run ErVкроме вышеперечисленных элементарных навыков (2 road_run- которые,я кстати давно уже знаю и юзаю). напарывался, например,на утверждение, что "нормальная" программа должна проходить проверку правописания в Word'е. Что касается имен по типу p1, p2, то из-за них возникают проблемы, когда код переваливает по объёму за 50 килобайт, но быват так, что возникает ошибка и в банальных функциях в три строки. отсутствие комментариев даёт проблемы через пару недель после того, как код был благополучно положен "на полочку". Они нужны в эти случаях. Я бы вообще порекомендовал кроме "верёвки достаточной длины, чтобы выстрелить себе в ногу", "C++ Unleashed", книги по "экстремальному програмированию". Там интересные вещи рассказываются как раз о проектировании программ. Кроме того есть советы и в книгах типа "Programming Windows Xth edition". То есть вы ведете разработку по по технологии XP? И что же там интересного рассказывается? И какая разница сколько кода написано или человек пишет грамотно или безграмотно - третьего не дано. По каким параметрам оценивается грамотностьили безграмотность, интересно было бы узнать? Разработку по технологии XP я не веду, но в книгах такого типа даётся хорошая справка по WinAPI (про который, я подозреваю, кое-кто (не имею в виду кого-либо конкретного :)) вообще никогда не слышал). Кроме кода, объясняющего, что такое FileMapping или, например, как создать окошко, там есть ещё кодовые примеры (в которых можно поучится стилю) и переодически проскакивают различные соображения по этому поводу. вообще, ИМХО, вопрос о стиле возник из-за большой гибкости C++ - из (конкретно этого) языка можно ведь что угодно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:19 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVРазработку по технологии XP я не веду, но в книгах такого типа даётся хорошая справка по WinAPI (про который, я подозреваю, кое-кто (не имею в виду кого-либо конкретного :)) вообще никогда не слышал). Кроме кода, объясняющего, что такое FileMapping или, например, как создать окошко, там есть ещё кодовые примеры (в которых можно поучится стилю) и переодически проскакивают различные соображения по этому поводу. вообще, ИМХО, вопрос о стиле возник из-за большой гибкости C++ - из (конкретно этого) языка можно ведь что угодно сделать. Ааааааа уууу ауууцаыв пврп причем WinApi бл* (извините не сдержаля) XP - http://www.xprogramming.ru/ все говорите о чем хотите... зарекаюсь в форум писать только читать заместо анекдотов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:28 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Ну вот опять достигли взаимонепонимания... А ведь уже пробовал вас остановить ;) Надеюсь, третьего раунда не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:36 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_run ErVРазработку по технологии XP я не веду, но в книгах такого типа даётся хорошая справка по WinAPI (про который, я подозреваю, кое-кто (не имею в виду кого-либо конкретного :)) вообще никогда не слышал). Кроме кода, объясняющего, что такое FileMapping или, например, как создать окошко, там есть ещё кодовые примеры (в которых можно поучится стилю) и переодически проскакивают различные соображения по этому поводу. вообще, ИМХО, вопрос о стиле возник из-за большой гибкости C++ - из (конкретно этого) языка можно ведь что угодно сделать. Ааааааа уууу ауууцаыв пврп причем WinApi бл* (извините не сдержаля) XP - http://www.xprogramming.ru/ все говорите о чем хотите... зарекаюсь в форум писать только читать заместо анекдотов :lol: Извини! :) Всё время два сокращения путаю. (eXtremeProgramming - WindowsXP :)) Книгу я прочитал, и "принял к сведению".В частности, мой практический опыт написания программ на заказ подтвердил то, чтотам говорится о традиционных методиках проектирования. Стараюсь использовать то, что прменимо, но само собой - парное программирование в одиночку не попробуешь. :) А по рефакторингу книженция стоит будь здоров... Для скачивания ещё чего-то её не встречал, хотя очень хочу изучить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:37 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Akh ErV Но здесь возможен вариант, когда эти переменные будут полями класса соответственно: sender->port sender->ip и т.д. А функции API? Их нельзя использовать? А как называть свои функции и методы? Всегда можно обойтись одним словом? Так вот в этом то и проблема! Функции WinAPI используют венгерскую нотацию, которая, по мнению автора книги, "полезна только в ассмблере, где о переменной известен только её адрес, и вносит неразбериху в код на C++". Как я понимаю, если язык - С++, имена функций можно либо разделить namespace'ами (это вместо префиксов), либо объединить в классы(это уже будет покруче). вот только не факт, что от этого читабельность улучшится. И проблема в используемых мной приложениях возникала из-за того, что неизбежно возникает смешение двух стилей и неразбериха. Образец "венгерского кода" я уже видел, я ТАК писать не буду. (чего стоит название переменной m_rgbpcmSkinMaps! - экспорт в X-файлы для 3dsmax). хотя, с другой стороны, "понятное" написание проги требует ООООЧЕНЬ хорошего представления того, что прога делает. Тут скорость уже падает, так как над одной функцией можно долго сидеть и думать, как в ней две переменные назвать так чтобы она былачитабельней... по идее это должно проходить с опытом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:47 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVКак я понимаю, если язык - С++, имена функций можно либо разделить namespace'ами (это вместо префиксов), либо объединить в классы(это уже будет покруче). вот только не факт, что от этого читабельность улучшится. Я и говорю - стеб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:56 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV Всё время два сокращения путаю. (eXtremeProgramming - WindowsXP :)) Книгу я прочитал, и "принял к сведению".В частности, мой практический опыт написания программ на заказ подтвердил то, чтотам говорится о традиционных методиках проектирования. Стараюсь использовать то, что прменимо, но само собой - парное программирование в одиночку не попробуешь. :) А по рефакторингу книженция стоит будь здоров... Для скачивания ещё чего-то её не встречал, хотя очень хочу изучить. Ну вот смотри попробуем найти точки понимания ты все время ведешь разработку один. Тут можно соблюдать свои правила наиболее тебе понятные. А когда проект разрабатывает человек 6 что происходит. Каждый начинает писать так как он привык? Обычно придерживаются определенных соглашений по кодированию со всеми вытикающими более того достаточно часто код кодин код разрабатывается несколькими программистами.... ну и т.д. Насчет хроший код или плохой в книге по рефакторингу вводится прекрасное определение "дурно пахнущий код" и даются примеры этого дурно пахнущего кода... Более того примеры примитивные и интуитивно понятные... Теперь что происходит в реальности несмотря на то что все вроде бы знают как правильно писать код на этапе рефакторинга переодически видишь такие перлы - что хоть стой хоть падай (переодически я их вижу и в своем коде) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 16:59 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
HomosumХотел уточнить пункт про: использование переменных типа myParam1 a p1 s1 или s4, дублирование кода. Можно про это поподробнее? Вы имеете ввиду, что каждой переменной надо давать осмысленные имена? Даже буферным, которые будут использованы только в двух сточках кода? В правилах, которые используются при написании кода, внашей организации есть такие строчки "Следует употреблять только осмысленные имена переменных. Исключение составляют единичные переменные: • счетчик цикла — i,j,k; • обозначения количества объектов — n; • обозначения временной строковой переменной — s, str." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 17:05 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_run ErV Всё время два сокращения путаю. (eXtremeProgramming - WindowsXP :)) Книгу я прочитал, и "принял к сведению".В частности, мой практический опыт написания программ на заказ подтвердил то, чтотам говорится о традиционных методиках проектирования. Стараюсь использовать то, что прменимо, но само собой - парное программирование в одиночку не попробуешь. :) А по рефакторингу книженция стоит будь здоров... Для скачивания ещё чего-то её не встречал, хотя очень хочу изучить. Ну вот смотри попробуем найти точки понимания ты все время ведешь разработку один. Тут можно соблюдать свои правила наиболее тебе понятные. А когда проект разрабатывает человек 6 что происходит. Каждый начинает писать так как он привык? Обычно придерживаются определенных соглашений по кодированию со всеми вытикающими более того достаточно часто код кодин код разрабатывается несколькими программистами.... ну и т.д. Насчет хроший код или плохой в книге по рефакторингу вводится прекрасное определение "дурно пахнущий код" и даются примеры этого дурно пахнущего кода... Более того примеры примитивные и интуитивно понятные... Теперь что происходит в реальности несмотря на то что все вроде бы знают как правильно писать код на этапе рефакторинга переодически видишь такие перлы - что хоть стой хоть падай (переодически я их вижу и в своем коде) в книге по XP(eXtremal Programming) было сказано, что (всё не буду перечислять :)) а) слишком длинных имен переменных не бывает б) отличие системы в том, что используется ВСЁ ВРЕМЯ - то есть, всё время происходит рефакторинг, тесты и интеграция. в) "мы умудрились договориться даже о том, где расставлять фигурные скобки!" :) :) насчёт "дурнопахнущего кода" я согласен, и опять, вопрос про стили возник из-за того, что код, где смешение стилей происходит явно и повсеместо, как раз дурнопахнущим и является. я не могу заявить, что "пользуюсь рефакторингом", так как эта чертова (извиняюсь) книга так до меня и не добралась по разным причинам. Стараюсь держать код читабельным и следовать правилам - "самая простая вещь, которая будет работать". Насчёт "ляпов", о которых ты писал... не мог бы выкинуть сюда один - глянуть? ЗЫ:Тут про книги по программингу кто-то спрашивал - ещё ОФФИГЕННАЯ книга есть - "жемчужины программирования", увы, только в книжных магазинах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 17:17 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
[quot ErV] Насчёт "ляпов", о которых ты писал... не мог бы выкинуть сюда один - глянуть? [quot] Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 17:26 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_run[quot ErV] Насчёт "ляпов", о которых ты писал... не мог бы выкинуть сюда один - глянуть? [quot] Код: plaintext 1. Имеешь в виду - Init() надо было в конструктор запихнуть? Или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 17:34 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33775380&tid=2030930]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 493ms |

| 0 / 0 |
