|
|
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Какой стиль программирования считаете наиболее приемлемым? Меня клинит между двумя вариантами : 1) //от микрософт/венгерская class CSomeClass{ //код }; void SomeVoidFn(LPCTSTR lpszstr){ //код } 2) //по типу gnu|opensource class some_class{ //код }; void some_void_function(const char* some_string){ //... } ваши мнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:06 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Если работаешь на предприятии - то какой принят стиль, так и пиши. Если "вольный художник" - пиши, как удобнее Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:07 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Считаю так же. Раз тебя не отягощают никакие внешние факторы, пиши так как тебе будет нагляднее. Я, зачастую, пишу стразу 2-мя (если так можно выразиться). То, что относится к интерфейсу - 1-м методом, что к внутренней реализации - 2-й. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:14 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
AkhСчитаю так же. Раз тебя не отягощают никакие внешние факторы, пиши так как тебе будет нагляднее. Я, зачастую, пишу стразу 2-мя (если так можно выразиться). То, что относится к интерфейсу - 1-м методом, что к внутренней реализации - 2-й. Так, блин, абракадабра же тогда получается! У меня два или три приложения загнулись на стадии разработки из-за того, что я сначала начинал в стили microsoft, а потом (когда 30 процентов или больше кода уже было), на gnu. там уже из-за этого ничего под конец нельзя было понять!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:21 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVУ меня два или три приложения загнулись на стадии разработки из-за того, что я сначала начинал в стили microsoft, а потом (когда 30 процентов или больше кода уже было), на gnu. там уже из-за этого ничего под конец нельзя было понять!. Так смотря что, каким стилем. Есстественно, я не пишу половину одним, половину другим, смотря с какой ноги встал. У меня порой бывают функции 5-й, 7-й степени вложенности, которые разделены на уровни. Зачем? Что бы было легче изменять при использовании в другом проекте или в каких-нибудь других случаях. А еще бывает, несколько уровней интерфейса библиотеки, ну типа сконвертить звук (высший уровень) или сконвертить в PCM, сконвертить PCM, сконвертить из PCM (пониже). Так вот, чтобы это все дело боло еще более наглядней, то мне удобнее отделять одно от другого разными стилями. Тогда это бросается в глаза. Но, это чистА мое имхо. Вообще, я нигде не слышал, чтобы так извращались. Мне так удобнее писать проекты, особенно, когда еще не точно представляешь что из этого всего получиться (в плане кода). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:43 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVТак, блин, абракадабра же тогда получается! У меня два или три приложения загнулись на стадии разработки из-за того, что я сначала начинал в стили microsoft, а потом (когда 30 процентов или больше кода уже было), на gnu. там уже из-за этого ничего под конец нельзя было понять!. Мне, лично, всё равно, какая нотация используется для именования калссов/функций и т.п. ... Если наименования осмысленные, код нормально отформатирован (для читабельности) и снабжён достаточными комментариями... то какие тут могут возникнуть проблемы? А если ещё и спроектировано всё удачно, то тут уж и сопровождающий кодер не будет ругаться, мол "Какой (вырезано цензурой) весь этот бред наваял!?"... А вообще тема довольно избитая и ей посвящена не одна статья и даже книга... Вот тут , например, можно найти хорошие советы... Хотя автор больше выражает своё личное мнение, но... о вкусах не спорят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 17:48 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Венгерская нотация применяется для программирования на С, а не на С++. В С++ она не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 10:58 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
имеешь в виду мфц? мне венгерская больше нра. Хотя приставки P и LP как-то пока не нра. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 11:58 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVУ меня два или три приложения загнулись на стадии разработки из-за того, что я сначала начинал в стили microsoft, а потом (когда 30 процентов или больше кода уже было), на gnu. там уже из-за этого ничего под конец нельзя было понять!.Тут нет твоей вины - это ошибка руководства. Не фиг поручать работу программиста кодеру. Не по Сеньке шапка. ErVКакой стиль программирования считаете наиболее приемлемым?Основной принцип: стиль должен быть таким, чтобы через 10 лет, ты смог врубиться в свою сегодняшнюю писанину за 5 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 12:01 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
pandrew p> Основной принцип: стиль должен быть таким, чтобы через 10 p> лет, ты смог врубиться в свою сегодняшнюю писанину за 5 p> минутМечты ... мечты ... Ну т.е. врубиться то можно, а вот понять, нафига все это написано - уже нельзя :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:05 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас pandrew p> Основной принцип: стиль должен быть таким, чтобы через 10 p> лет, ты смог врубиться в свою сегодняшнюю писанину за 5 p> минутМечты ... мечты ... Ну т.е. врубиться то можно, а вот понять, нафига все это написано - уже нельзя :) Posted via ActualForum NNTP Server 1.3 Я полностью поддреживаю pandrew в этом вопросе. Если мне программист принесет х"о написанный код то я его буду долго п"ть ногами. Код написанный три года назад благополучно читается и все понятно. Более того я прекрасно читаю код написанный другими людьми, даже без комментариев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:10 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
pandrewТут нет твоей вины - это ошибка руководства. кхм... я же сам себе руководством был! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 14:29 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVкхм... я же сам себе руководством был! :)Самокритика вещь хорошая, но и выводы делать иногда полезно. ErVУ меня два или три приложения загнулись на стадии разработкиНельзя же так регулярно переоценивать свои силы. Попытки сразу построить небоскреб (или вечный двигатель) при отсутствии элементарного строительного опыта (не знания цикла Карно) приведут только к куче битых кирпичей (или "мучительной боли за бесцельно прожитые годы"). "Учиться, учиться и учиться" вам батенька надо и на своих ошибках тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 15:42 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
pandrew ErVкхм... я же сам себе руководством был! :)Самокритика вещь хорошая, но и выводы делать иногда полезно. ErVУ меня два или три приложения загнулись на стадии разработкиНельзя же так регулярно переоценивать свои силы. Попытки сразу построить небоскреб (или вечный двигатель) при отсутствии элементарного строительного опыта (не знания цикла Карно) приведут только к куче битых кирпичей (или "мучительной боли за бесцельно прожитые годы"). "Учиться, учиться и учиться" вам батенька надо и на своих ошибках тоже. Вообще-то я уже несколько лет программированием занимаюсь, и довольно серъёзно. :-[ А проблемы начались, когда наткнулся на противоречие предлагаемых стилей - GNU vs Microsoft, и противоречивую информацию по поводу того, что лучше. так что "отсутсвие элементарного опыта" - не мой случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 12:06 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV так что "отсутсвие элементарного опыта" - не мой случай. Твой твой..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2006, 00:15 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_run ErV так что "отсутсвие элементарного опыта" - не мой случай. Твой твой..... Обоснуй. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 10:49 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV road_run ErV так что "отсутсвие элементарного опыта" - не мой случай. Твой твой..... Обоснуй. :) Итак начнем 1) "У меня два или три приложения загнулись на стадии разработки из-за того, что я сначала начинал в стили microsoft, а потом (когда 30 процентов или больше кода уже было), на gnu. там уже из-за этого ничего под конец нельзя было понять!." Если программист сам не может понять свой код, который он написал.... то это результат: а) отсутсвие структурированности солюшена и четко ограниченных модулей которые выполнают оперделенный круг задач. б) отсутсвие комментарий. в) отсутсвие алгоритма и (или) спецификации по которой разрабатывается приложение. г) безобразное написание кода, использование переменных типа myParam1 a p1 s1 или s4, дублирование кода, использование слишком длинных методов и т.п. 2) "кхм... я же сам себе руководством был! :)" Соотвественно все вышеперечисленное Ваши ошибки. 3)На соответсвенно здравое замечание "Нельзя же так регулярно переоценивать свои силы. Попытки сразу построить небоскреб (или вечный двигатель) при отсутствии элементарного строительного опыта (не знания цикла Карно) приведут только к куче битых кирпичей (или "мучительной боли за бесцельно прожитые годы"). "Учиться, учиться и учиться" вам батенька надо и на своих ошибках тоже." Получаем ответ "Вообще-то я уже несколько лет программированием занимаюсь, и довольно серъёзно. :-[ А проблемы начались, когда наткнулся на противоречие предлагаемых стилей - GNU vs Microsoft, и противоречивую информацию по поводу того, что лучше. так что "отсутсвие элементарного опыта" - не мой случай." Соотвественно: а) мерятся пиписьками на конструктивную критику это ИМХО крайне неправильно. б) Проблемы ИМХО начались задолго до "GNU vs Microsoft", как говорится плохому танцору стили мешают. г) Повторюсь это ваш случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 12:28 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV road_run Харош ОффТопить... Не надо такие вопросы решать на форуме. Всякого рода междоусобчики и споры "не в тему" - в личку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 14:00 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
2 road run. Мне влом спорить. Если взять двух любых программистов, всегда можно найти область, в которой один разбирается, а второй нет, и наоборот. Ты, к примером, можешь быть гением в области баз данных (где я - ноль), но не разбираться в 3D графическом программировании. А ругаться можно до бесконечности, это всё равно ни к чему не приведёт, так что, ИМХО, бессмыслено. Вообще, предполагалось, что здесь есть человек, который юзал оба стиля, и знает какими проблемами светит как один, так и второй, и может здраво изложить плюсы и минусы, как первого, так и второго стиля, если таковые вообще имееются. Поэтому, предполагалось получить ответ именно на заданный вопрос а не снисходительные комментарии по типу "вам учиться, учиться и учиться". А вопрос возник из-за обилия "авторитеной" противоречивой информации, в которой предлагались взаимоисключающие вещи, и, вообще-то в основе своей вопрос как раз и имел стремление "учиться, учиться и учиться". ЗЫ: "Верёвку достаточной длины, чтобы выстрелить себе в ногу" я читал, она как раз и была одной из причин, почему вообще этотк топик появился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 12:28 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Dmitrii K.Всякого рода междоусобчики и споры "не в тему" - в личку.очень интересно, где тут личка? Не вижу. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 14:20 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
maXmoочень интересно, где тут личка? Не вижу. Скорее всего под личкой понимается мыло Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 14:21 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас maXmoочень интересно, где тут личка? Не вижу. Скорее всего под личкой понимается мыло Да что угодно, и мыло в том числе... Форум, вроде, не для того существует, чтобы пинать друг друга "добрыми словами"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 15:28 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
сколько форумов знаю, только на этом нет лички :) ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 16:04 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
2 maXmo, Карабас Барабас, Dmitrii K Ну и кто теперь оффтопит ? :) Можно - по теме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2006, 15:42 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVМожно - по теме? Я по теме уже высказался Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2006, 15:47 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#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 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVИмеешь в виду - Init() надо было в конструктор запихнуть? Или что? Ну да аффтар никак не смог обосновать лишний метод.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 17:40 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_run ErVИмеешь в виду - Init() надо было в конструктор запихнуть? Или что? Ну да аффтар никак не смог обосновать лишний метод.... Ну, если метод не виртуальный (т.е. будет перегружаться), т.е. - действительно, нафига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2006, 17:49 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV вообще, ИМХО, вопрос о стиле возник из-за большой гибкости C++ - из (конкретно этого) языка можно ведь что угодно сделать. Здесь я полностью не согласен. У меня есть опыт разработки на других языках, и даже если взять такой "примитивный" язык, как внутренний язык среды "1С:Предприятие", то и там очень важно понятие стиля и все, что было здесь сказано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 10:47 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Стив Макконнелл Совершенный код http://]http://www.natahaus.ru/2005/09/07/sovershennyy_kod__master_klass.html Второе издание. Твердый переплет 896 стр., 2005 г. Издательство: Питер Русская редакция . Серия: Мастер-класс. ISBN 5-7502-0064-7 От издательства: Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО ≈ с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код. Книга состоит из 35 глав, предметного указателя и библиографии. Отзывы о книге: "Это просто самая лучшая книга по конструированию ПО из всех, что когда-либо попадались мне в руки. Каждый разработчик должен иметь ее и перечитывать от корки до корки каждый год. Я ежегодно перечитываю ее на протяжении вот уже девяти лет, и все еще узнаю много нового!" Джон Роббинс, автор книги "Debugging Applications for Microsoft .NET and Microsoft Windows" "Современное ПО должно быть надежным и гибким, а создание защищенного кода начинается с дисциплинированного конструирования программы. За десять лет так и не появилось лучшего руководства по этой теме, чем эта книга." Майкл Ховард, специалист по защите ПО, корпорация Microsoft; один из авторов книги "Writing Secure Code" "Это исчерпывающее исследование тактических аспектов создания хорошо спроектированных программ. Книга Макконнелла охватывает такие разные темы, как архитектура, стандарты кодирования, тестирование, интеграция и суть разработки ПО." Гради Буч, автор книги "Object Solutions". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 16:39 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
armasСтив Макконнелл Совершенный код http://]http://www.natahaus.ru/2005/09/07/sovershennyy_kod__master_klass.html Второе издание. Твердый переплет 896 стр., 2005 г. Издательство: Питер Русская редакция . Серия: Мастер-класс. ISBN 5-7502-0064-7 От издательства: Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО ≈ с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код. Книга состоит из 35 глав, предметного указателя и библиографии. Отзывы о книге: "Это просто самая лучшая книга по конструированию ПО из всех, что когда-либо попадались мне в руки. Каждый разработчик должен иметь ее и перечитывать от корки до корки каждый год. Я ежегодно перечитываю ее на протяжении вот уже девяти лет, и все еще узнаю много нового!" Джон Роббинс, автор книги "Debugging Applications for Microsoft .NET and Microsoft Windows" "Современное ПО должно быть надежным и гибким, а создание защищенного кода начинается с дисциплинированного конструирования программы. За десять лет так и не появилось лучшего руководства по этой теме, чем эта книга." Майкл Ховард, специалист по защите ПО, корпорация Microsoft; один из авторов книги "Writing Secure Code" "Это исчерпывающее исследование тактических аспектов создания хорошо спроектированных программ. Книга Макконнелла охватывает такие разные темы, как архитектура, стандарты кодирования, тестирование, интеграция и суть разработки ПО." Гради Буч, автор книги "Object Solutions". Если честно (не обижайся) на банальную рекламу похоже. 2 road_run. Ты говорил насчет ссылок по рефакторингу - не поделишся? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 12:31 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
2 ErV ну,блин, вы даете! эта ссылка на целую книгу в эл.виде, к-рая... must have ;-) Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:49 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV 2 road_run. Ты говорил насчет ссылок по рефакторингу - не поделишся? :) Гмм что то не помню про то что говорил но вот на очень хорошую тулзовину для рефакторинга всегда пжалуйста .... эх если бы еще кряк можно было бы для нее найти... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 18:50 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
road_run ErV 2 road_run. Ты говорил насчет ссылок по рефакторингу - не поделишся? :) Гмм что то не помню про то что говорил но вот на очень хорошую тулзовину для рефакторинга всегда пжалуйста http://www.refpp.com/.... эх если бы еще кряк можно было бы для нее найти... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 18:50 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
armas2 ErV ну,блин, вы даете! эта ссылка на целую книгу в эл.виде, к-рая... must have ;-) Удачи! :lol: пардон, обознался. (Люди, никогда не пишите за ночь курсовую... :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 17:22 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Уважаемые Знатоки! Разрешите вам задать ламерский вопрос и может быть не совсем в тему. Кто-нибудь знаком с книгой В.Штерна "Основы С++. Методы программной инженерии"? Если да, то какое у вас к ней отношение? Лично я ее читал, ну прям - как детектив какой, интересно - ужас. Может это от того, что нахожусь на начальном уровне в С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2006, 05:25 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
есть ещё такой каталожек хороших книжек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2006, 02:32 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Заходите на страницу самие http://]http://220.ws.co.ua/135.htm прикольные исходники!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2006, 11:17 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
220.ws.co.ua ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2006, 11:19 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
?Уважаемые Знатоки! Разрешите вам задать ламерский вопрос и может быть не совсем в тему. Кто-нибудь знаком с книгой В.Штерна "Основы С++. Методы программной инженерии"? Если да, то какое у вас к ней отношение? Лично я ее читал, ну прям - как детектив какой, интересно - ужас. Может это от того, что нахожусь на начальном уровне в С++. Начальный - это какой? :) что знакомо (какие термины/понятия/функции) из списка: перегрузка операторов, шаблоны (template'ы), std::vector, std::bitset, пространства имен, укзатели, наследование, классы, полиморфизм, перегрзка операторов, абстрактный метод, константный метод, ссылка, абстрактный класс, "умный" указатель, typedef, макрос, COM, WinAPI, HANDLE, std::cout, _tcsprintf. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 12:56 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Из всего перечисленного еще не освоил - шаблоны, макросы и COM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:18 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVstd::vector, std::bitset, пространства именмда... во времена бц3.1 такого не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:36 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2006, 14:47 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
?Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров. С серъезным проектом - почитай книги по экстремальному програмированию. Серъезно - я когда писал прогу на заказ, и пытался пользоваться традиционныи средствами проектирования получил ряд проблем, которые решаются в этих книгах... и ещё :) что делают следующие строки (имена изначально были понятные :)): int func(const char* p){ int i = 0; if (p) while(*(ptr++)) i++; return i; } ??? Просто многие парятся с указателями... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 11:35 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV ?Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров. С серъезным проектом - почитай книги по экстремальному програмированию. Серъезно - я когда писал прогу на заказ, и пытался пользоваться традиционныи средствами проектирования получил ряд проблем, которые решаются в этих книгах... и ещё :) что делают следующие строки (имена изначально были понятные :)): int func(const char* p){ int i = 0; if (p) while(*(ptr++)) i++; return i; } ??? Просто многие парятся с указателями... ptr надо бы как-то это... А если это опечатка и вместо ptr должно быть p то это просто strlen. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 12:28 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErVи ещё :) что делают следующие строки (имена изначально были понятные :)): int func(const char* p){ int i = 0; if (p) while(*(ptr++)) i++; return i; } ??? Просто многие парятся с указателями... Простые вещи нужно делать низкоуровнеми средствами. Это и быстрее и "стильнее". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 14:15 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
_Балтика ErVи ещё :) что делают следующие строки (имена изначально были понятные :)): int func(const char* p){ int i = 0; if (p) while(*(ptr++)) i++; return i; } ??? Просто многие парятся с указателями... Простые вещи нужно делать низкоуровнеми средствами. Это и быстрее и "стильнее". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Вообще каждый пишет по своему. для меня C++ код удобнее читать. Кроме того, он будет работать (теоретически) на любой машине - т.е. не 8086-based, хотя мне эо как то и все равно. Кроме того - здесь мне просто интересно было посмотреть, знает ли человек указательную механику и т.д.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 14:55 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV ?Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров. С серъезным проектом - почитай книги по экстремальному програмированию. Серъезно - я когда писал прогу на заказ, и пытался пользоваться традиционныи средствами проектирования получил ряд проблем, которые решаются в этих книгах... и ещё :) что делают следующие строки (имена изначально были понятные :)): int func(const char* p){ int i = 0; if (p) while(*(ptr++)) i++; return i; } ??? Просто многие парятся с указателями... В данном примере, функция func принимает указатель со спецификатором const (это означает, что в данной функции, сами данные на которые указывает *p – изменить нельзя). Так как указатель имеет тип char – это означает, что в функцию передается указатель на начало символьного массива. В функции объявляется переменная i типа int которая инициализируется 0 и именно ее значение будет возвращено из данной функции. Далее в конструкции - if (p) проверяется не содержит ли указатель значение 0. И если не содержит, то в цикле while увеличиваем значение адреса, которое расположено в указателе, на величину которое занимает тип char и соответственно, увеличиваем счетчик i. По количеству таких итераций, получаем число - сколько раз менялся адрес в указателе p. Ну и соответственно, данное число - будет показывать количество символов в строке, на начало которой указывал *p как параметр функции при ее вызове. Ptr – это опечятка. Если я не прав, то пусть меня поправят. Буду – признателен за указание на ошибки моего рассуждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 19:57 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
Конечно, что в предложении: “Так как указатель имеет тип char – это означает, что в функцию передается указатель на начало символьного массива”, будет правильнее написать: “Так как указатель имеет тип char – это означает, что в функцию передается адрес первого символа символьного массива.” ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2006, 20:18 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
_Балтика ErVи ещё :) что делают следующие строки (имена изначально были понятные :)): int func(const char* p){ int i = 0; if (p) while(*(ptr++)) i++; return i; } ??? Просто многие парятся с указателями... Простые вещи нужно делать низкоуровнеми средствами. Это и быстрее и "стильнее". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Не скрою, мне интересны фичи по ускорению программ. На BCB5 сравнил скорость выполнения этой функции и штатной strlen, выяснилось что штатная работает примерно в 5-6 раз быстрее. В ассемблерном промежуточном файле видно, что strlen была вставлена не как intrinsic, а как обычный вызов функции. Но надежда, что можно заменить на что-то более быстрое, все равно жива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2006, 10:22 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
?Конечно, что в предложении: “Так как указатель имеет тип char – это означает, что в функцию передается указатель на начало символьного массива”, будет правильнее написать: “Так как указатель имеет тип char – это означает, что в функцию передается адрес первого символа символьного массива.” указатель и адрес (ИМХО) - синонимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 12:37 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV ?Конечно, что в предложении: “Так как указатель имеет тип char – это означает, что в функцию передается указатель на начало символьного массива”, будет правильнее написать: “Так как указатель имеет тип char – это означает, что в функцию передается адрес первого символа символьного массива.” указатель и адрес (ИМХО) - синонимы. С точностью до типизации в языке. Увеличение указателя ptr на n означает прибавление к адресу n * sizeof(*ptr). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 13:36 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
2ErV На мой, (возможно не правильный) взгляд, все-таки именно – адрес. Потому как, если написать заголовок функции, вот так: Код: plaintext 1. Вообще-то, С++ мне очень – нравится. Только само его изучение, тренирует мозги – будь здоров. Ведь, казалось бы, одна и та же “закорлючка”, но поставленная в разном месте, может вызвать совершенно разные действия или последствия. А сколько всевозможных тонкостей и нюансов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2006, 19:14 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
?2ErV На мой, (возможно не правильный) взгляд, все-таки именно – адрес. Потому как, если написать заголовок функции, вот так: Код: plaintext 1. Вообще-то, С++ мне очень – нравится. Только само его изучение, тренирует мозги – будь здоров. Ведь, казалось бы, одна и та же “закорлючка”, но поставленная в разном месте, может вызвать совершенно разные действия или последствия. А сколько всевозможных тонкостей и нюансов! ИМХО: разделять понятия "указатель" и "адрес" - значит создавать путаницу и двусмысленность. в случае "int func(const char** p)" p - "адрес адреса строки". или "адрес, по которому храниться адрес строки". :) :) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2006, 12:10 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
ErV ?2ErV На мой, (возможно не правильный) взгляд, все-таки именно – адрес. Потому как, если написать заголовок функции, вот так: Код: plaintext 1. Вообще-то, С++ мне очень – нравится. Только само его изучение, тренирует мозги – будь здоров. Ведь, казалось бы, одна и та же “закорлючка”, но поставленная в разном месте, может вызвать совершенно разные действия или последствия. А сколько всевозможных тонкостей и нюансов! ИМХО: разделять понятия "указатель" и "адрес" - значит создавать путаницу и двусмысленность. в случае "int func(const char** p)" p - "адрес адреса строки". или "адрес, по которому храниться адрес строки". :) :) :) И вовсе не бессмыслица: указатель - переменная, адрес - это данные в такой переменной. И потому не "адрес адреса", а "адрес переменной, хранящей адрес строки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2006, 20:44 |
|
||
|
Стиль программирования.
|
|||
|---|---|---|---|
|
#18+
? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 17:25 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2030930]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
127ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 584ms |

| 0 / 0 |
