Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Вряд ли найдется программист не сталкивавшийся с чужим кодом Интересно что мы думаем друг о друге, что бросается в глаза Мой опыт не особенно велик - в основном VBA под MS Access и я нисколько не претендую на академичность собственного кода, но в последнее время копаясь в коде VBA предидущего программиста (а он имел основным языком С++), ну просто задолбался. В каждой программе: 1. полное отсутствие табуляции (все выровнено влево) 2. переменные не объявляются (opton explicit - то есть, то нет) 3. переменные все типа Variant - акес - так не блещет быстродействием, а тут такая бяка 4. Dim a, b, c as String - и он думает что они все строковые 5. сортировка в массивах, вместо RecordSet 6. обозначение переменных и функций именами из 3 букв не имеющих эквивалента ни в русском , ни в английском 7. бесчисленные функции и подфункции на ровном месте особенно при задании источников строк интересно, а что видят представители других языков в VBA, VB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 15:38 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
!!!!!!!!! 6. обозначение переменных и функций именами из 3 букв не имеющих эквивалента ни в русском , ни в английском Э... Умляуты или иероглифы?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 17:17 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
!!!!!!!!!Вряд ли найдется программист не сталкивавшийся с чужим кодом Интересно что мы думаем друг о друге, что бросается в глаза Мой опыт не особенно велик - в основном VBA под MS Access и я нисколько не претендую на академичность собственного кода, но в последнее время копаясь в коде VBA предидущего программиста (а он имел основным языком С++), ну просто задолбался. В каждой программе: 1. полное отсутствие табуляции (все выровнено влево) 2. переменные не объявляются (opton explicit - то есть, то нет) 3. переменные все типа Variant - акес - так не блещет быстродействием, а тут такая бяка 4. Dim a, b, c as String - и он думает что они все строковые 5. сортировка в массивах, вместо RecordSet 6. обозначение переменных и функций именами из 3 букв не имеющих эквивалента ни в русском , ни в английском 7. бесчисленные функции и подфункции на ровном месте особенно при задании источников строк интересно, а что видят представители других языков в VBA, VB? Если хочешь услышать много интересного о себе - покажи свой код другому програмМисту, только скажи ему: это код соседа (варианты: коллеги/предшественника). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 17:18 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
1. я встречал нерегулярную табуляцию - то влево, то вправо. 2. хмм... это точно был программист на с++, вообще, там объявление переменных в моск въедается, т.к. иначе вообще ничего не работает 4. да, это семантика с :) DocAlЭ... Умляуты или иероглифы?!думаю, что-нибудь вроде abc(), xyz() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 20:22 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
maXmo2. хмм... это точно был программист на с++это был вопрос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 20:23 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
aleks2Если хочешь услышать много интересного о себе - покажи свой код другому програмМисту, только скажи ему: это код соседа А если хочешь добиться пользы, показывай регулярно, и заставляй соседа показывать тебе. Спорные моменты обсуждай - не "опускай", и даже не "рассказывай, как правильно", а именно высказывай мнение и будь готов к дискуссии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 20:34 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
maXmo2. хмм... это точно был программист на с++, Кто ж его знает. Может это такой странный программист на c++. Но совершенно не похоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 20:36 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
DocAl !!!!!!!!! 6. обозначение переменных и функций именами из 3 букв не имеющих эквивалента ни в русском , ни в английском Э... Умляуты или иероглифы?! Да нет! сокращения понятные только автору на момент написания типа eX_lp лично мне более нравится писать имена по русски - глюков при этом не более чем по латыни, а текст самодокументируется maXmo 2. хмм... это точно был программист на с++ это был вопрос :) в том то и дело, что с++ вроде как вершина пк-мысли, а приведенные примеры не единичны. Во всех проектах товарисча и некоторых иных одно и тоже softwarer maXmo2. хмм... это точно был программист на с++, Кто ж его знает. Может это такой странный программист на c++. Но совершенно не похоже. похоже похоже я и сам пытаюсь чего то изображать на с++, но пока рабочим остается васик и мне не безинтересно что делают другие. на что-то смотрю раскрыв варежку - в основном на операции с указателями но это на чужом поле но на васике кудато вся лихость теряется - такое ощущение, что люди не считают нужным изучить язык собственно мне интересны стереотипы мышления и вредные привычки возникающие при переходе на другой язык ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 08:07 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
А мне встречался токой код: например команда IF через 500 или 800 строк else и ещё через тысячу строк endif это было ужасно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 10:00 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
!!!!!!!!!в том то и дело, что с++ вроде как вершина пк-мысли, Сомнительное утверждение. !!!!!!!!!а приведенные примеры не единичны. Хм. Как бы тебе сказать.... бывает, что жрец великого и светлого бога - полный идиот. !!!!!!!!!я и сам пытаюсь чего то изображать на с++ на что-то смотрю раскрыв варежку - в основном на операции с указателями но это на чужом поле Хм. Если позволишь совет - выучи сначала Си, без всяких плюсов. Найди учебник именно по Си, и желательно хороший, и иди по нему. !!!!!!!!!собственно мне интересны стереотипы мышления и вредные привычки возникающие при переходе на другой язык При переходе на другой язык приходится совершить довольно сложную операцию - провести границу между "это мой стиль" и "не буду врубаться в то, как правильно действовать на этом языке". Самое главное, имхо - концепции, которые отсутствуют в одном из языков или кардинально отличаются. Те же указатели прежде всего. Скажем, довольно смешно смотреть, как мигранты на дельфу громоздят жуткие конструкции вместо того, чтобы разобраться с виртуальными конструкторами. В обратном направлении, на яве меня бесила необходимость тупо - ctrl-c ctrl-v - копировать конструкторы класса в его потомков. Итп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 10:02 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
!!!!!!!!! лично мне более нравится писать имена по русски - глюков при этом не более чем по латыни, а текст самодокументируется А меня наоборот раздражает лишняя смена раскладок, так что на английском пишу даже комментарии.) Правда, в моей предметной области англоязычные корни легко просматриваются, так что это несложно, да и обоснованно, т.к. объяснять на английском что там к чему в результате приходилось вряд ли реже, чем на русском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 10:19 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
опыта у чушки мало было, я со второго года даже любую мелкую прогу оформляю подсознательно, в более больших везде dw... ставлю (ну там lp...) b итд. зы. сипп форева! аффтопитезь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 11:10 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
После того как я искал ошибку в процедуре с тремя-четырьмя циклами(местами вложенными), то понял что стоит писать программы аккуратно. Кстати ошибка обнаружилась в другом месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 12:13 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
softwarer !!!!!!!!!в том то и дело, что с++ вроде как вершина пк-мысли, Сомнительное утверждение. ......... Хм. Если позволишь совет - выучи сначала Си, без всяких плюсов. Найди учебник именно по Си, и желательно хороший, и иди по нему. ..... Самое главное, имхо - концепции, которые отсутствуют в одном из языков или кардинально отличаются. Те же указатели прежде всего. Скажем, довольно смешно смотреть, как мигранты на дельфу громоздят жуткие конструкции вместо того, чтобы разобраться с виртуальными конструкторами. В обратном направлении, на яве меня бесила необходимость тупо - ctrl-c ctrl-v - копировать конструкторы класса в его потомков. Итп. 1. сие РАССУждение 2. согласен - только претворить сие в жизнь не получится, обычно сначала получается то что должно быть потом. Увы ..... 3. эти "жуткие конструкции" и есть причина топика. Дело не в желании выставить кого либо...., а хочется понять (озвучить и сформулировать) причины стереотипов иногда три строчки могут стоить многих книг! Так что напрягаемся и формулируем - потомки будут нам благодарны!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 21:32 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
klen_А мне встречался токой код: например команда IF через 500 или 800 строк else и ещё через тысячу строк endif это было ужасно! забавно! штука в том что автор и сам не разберется в таком коде ну что стоит создать пару подпрограмм - даже лично для себя любимого! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 21:36 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
DocAl !!!!!!!!! лично мне более нравится писать имена по русски - глюков при этом не более чем по латыни, а текст самодокументируется А меня наоборот раздражает лишняя смена раскладок, так что на английском пишу даже комментарии.) Правда, в моей предметной области англоязычные корни легко просматриваются, так что это несложно, да и обоснованно, т.к. объяснять на английском что там к чему в результате приходилось вряд ли реже, чем на русском. На TSQL тоже русский лишь в комментариях! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 21:42 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
zloy denПосле того как я искал ошибку в процедуре с тремя-четырьмя циклами(местами вложенными), то понял что стоит писать программы аккуратно. Кстати ошибка обнаружилась в другом месте все бы так! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 21:43 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Помню, был у нас в группе один товарищ... Так он тело всегда цикла (мы тогда писали на С++) помещал в скобки for(..). Нечего и говорить. Когда его исходники пришло время корректировать, вспоминали сердешного... словом русським. P.S. Учите lisp, господа! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 22:26 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
maytonP.S. Учите lisp, господа!А что, на lisp'е нельзя писать криво? :) Можно и еще как! А вообще, я думаю что топик назван не верно. Это не "чужие ошибки", это "непривычное форматирование исходников". !!!!!!!!!собственно мне интересны стереотипы мышления и вредные привычки возникающие при переходе на другой языкЧто именно интересно? Хочешь примеров чужого кривого кода или понять как самому избавится от этих стереотипов? Самому избавится от стереотипов довольно просто, пиши на разных языках. Чем больше языков будет у тебя в активе, тем легче будет перестраиваться между языками. Ну и чем дольше будешь писать на каком-либо языке, чем больше будешь читать специализированую литературу и разбирать чужие исходники - тем четче будет твой собственный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 23:26 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
White OwlА что, на lisp'е нельзя писать криво? :) Можно и еще как! Ага. Можно. Но меньше чем в сях, согласитесь. По сабжу... Мне не совсем понятен пункт 7. !!!!! .... 7. бесчисленные функции и подфункции на ровном месте особенно при задании источников строк .... Что автор хотел этим сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 00:47 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
mayton White OwlА что, на lisp'е нельзя писать криво? :) Можно и еще как! Ага. Можно. Но меньше чем в сях, согласитесь.Нуууу... если исходить из того, что Лисп слегка сложнее чем Си в осмыслении, то на Лиспе обычно начинают писать уже имея голову на плечах. А Си доступен даже совсем начинающим. Поэтому по закону вероятности, кривой Лисп действительно встречается реже чем кривой Си :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 01:51 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Угу. Вариации на тему " A пчиму эта Виндоуз чаще ломают чем Линухъ? ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 08:37 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
maytonТак он тело всегда цикла (мы тогда писали на С++) помещал в скобки for(..)не понял. Чего делал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 11:42 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
maXmoне понял. Чего делал? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:21 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Пардон, после последней скобки еще нужна точка с запятой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:23 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Лучше так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:27 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Пардон, вот так for ( int i = 1 ; i < 10 && b =(a=i)*i; printf("%d ",b[i++])); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:28 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:29 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Лучше. Я просто постарался донести мысль, что тело этого цикла запросто можно растянуть на N экранов нормального вида; в Вашей записи это несколько неочевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:37 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
лол, что называется, нарочно не придумаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 14:27 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
maXmoлол, что называется, нарочно не придумаешь. Си - язык, очень богатый возможностями написать код из серии "нарочно не придумаешь". В очередной раз расскажу историю, которую запомнил на всю жизнь. Итак, моя самая первая серьезная работа. Занимались перетаскиванием под W32 огромной системы, писанной на ТурбоСях. Изрядно переписали самый нижний уровень, в основном сохранив интерфейс, начали потихоньку подключать модули более верхнего уровня. Количество кода - просто захлебнуться. Тонкость состояла в том, что система состояла из кучи exe-шников, а турбо-си не умел делать выборочную линковку, то есть если он брал obj-файл, то линковал его в exe-шник обязательно целиком. Поэтому в унаследованном коде применялся принцип "каждая функция в отдельном файле", соответственно для удержания количества файлов в разумных размеров "лишних функций" не выделяли. Другим следствием было то, что файл назывался строго по имени функции (и понятно), а следовательно имена функций были не длиннее восьми символов. Итак, подтягиваю я очередной модуль. Задача достаточно паршивая - двухбайтный int меняется на четырехбайтный, надо посмотреть, что везде все правильно, ненужных двоек вместо sizeof не мелькает, API все же отчасти поменялось, надо скорректировать вызовы, в общем, работы хватает. Вроде все сделал, подключаю, компилю, запускаю - виснет. Просто наглухо виснет. Не буду рассказывать, как я искал причину. Скажу только, что функция была длиной около 14'000 строк, из них основной цикл занимал около 10'000. Так или иначе, в конце концов я нашел причину - за несколько сот строк до конца основного цикла стояла замечательная инструкция: Код: plaintext В Турбо-Сях она компилилась как n=n+1, в Ваткоме, на который мы переходили, это же компилировалось в n=n, и при этом и то, и другое, соответствовало стандарту языка Си. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:30 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
ну это не так прикольно. Это просто ошибка, а не порождение воспалённого мозга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 16:47 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
Ну, стандартное Код: plaintext 1. тоже в общем-то ошибка, но меня прикалывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 18:11 |
|
||
|
Чужие ошибки...
|
|||
|---|---|---|---|
|
#18+
!!!!! .... 7. бесчисленные функции и подфункции на ровном месте особенно при задании источников строк .... Что автор хотел этим сказать?[/quot] Увы не воспроизведу оригинал... соссно задача - составить SQL запрос в котором WHERE основан на переменном количестве параметров уже не помню сам ли дошел или прочитал, но делаю так if ..... then st=st & " and ....." if ..... then st=st & " and ....." if ..... then st=st & " and ....." if st<>"" then st=" WHERE (" & mid(st,6) ")" так вот там где у меня простая конкатенация при проверке условий на каждом шаге использована функция основанная на подфункции, поскольку WHERE включалась в строку на первом же шагу и таскалась на каждую проверку такого маразма было предостаточно и в другом например на каждый чих заводилась специальная форма, кнопка ее вызова кнопки на главной форме + обработка нажатия клавиш+кнопки на вызываемой создаваемые визардами... хотя заведение копеешных форм думаю было более на совести руководства... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 20:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1346481]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 296ms |
| total: | 466ms |

| 0 / 0 |
