Здравствуйте, LaptevVV, Вы писали:
LVV>2. Проверка технической реализации, которую ожидаем также от старших и мидлов с экспертизой в данном компоненте.
Экспертиза бывает судебно-медицинская, например. А здесь должно быть написано "являющихся экспертами" или "имеющих опыт работы". Двоечники, блин! Мидлы!
Здравствуйте, mgu, Вы писали:
S>>Возможно, это потому, что ваши руководители оказывались еще менее компетентными программистами, чем вы. Ибо в команде у более-менее вменяемого руководителя вы бы рефакторингом подобных творений
Здравствуйте, Эйнсток Файр, Вы писали:
LB>> Вот мы и нашли виновника проблем в космической отрасли
ЭФ>Но ты сделал для российской космической области меньше, чем он, ЭФ>поэтому ты больше виновник. Предлагаю тебя расстрелять забанить.
Я сделал больше, ведь я нашел виновника. Меня надо поощрить. А тебя предлагаю на всякий случай расстрелять забанить.
Здравствуйте, Lazy Bear, Вы писали:
LB>Я сделал больше, ведь я нашел виновника. Меня надо поощрить. А тебя предлагаю на всякий случай расстрелять забанить.
Зачем сразу банить? Можно на ревью кода от Русского Парня посадить. Пожизненно.
Здравствуйте, LaptevVV, Вы писали:
LVV>"Мастерство не пропьешь"(с)...
Оно, конечно, так. Но иногда некоторые коллеги присылают мне жалобы: такой-то участок кода не работает. Я открываю. Первая реакция: какой идиот это написал? Чуть позже с глаз спадает пелена, и я вижу: код — мой. Сделан так, что строка, добавленная коллегой, его сломала. Видимо, писался в спешке. А может, сейчас требования изменились. Деталей не помню, код написан несколько лет назад. И приходится мне правки в него вносить самому.
Конечно, это не типичный случай. Но всякой бываеь.
Здравствуйте, LaptevVV, Вы писали:
LVV>>>Писал Дейкстра, писал Кнут. fk0>> Что бы они ни писали, не нужно их считать безусловными авторитетами претендующими на абсолютное знание. LVV>В данном случае конкретно статья Кнута была не мнением, а исследованием.
Нет таких исследований.
LVV>Вывод Кнута (на основании исследований кода программ на фортране) однозначен: использование goto без должной дисциплины приводит к большему количеству ошибок.
Нет.
Использование goto для прыжков назад приводит к увеличению ошибок. Использование goto для прыжков вперёд количество ошибок уменьшает. Это было проверено уже много раз в проектах, которые пишутся на С.
Но по какой-то идиотской причине до университетов это до сих пор не дошло. Видимо, из-за того, что преподаватели практическим программированием занимаются мало.
Здравствуйте, LaptevVV, Вы писали:
fk0>> Но for, while -- тоже замаскированные goto. А switch-case в C/C++ вообще страшная вещь в контексте того, что case можно вставлять в середину какого-либо другого цикла или даже ветви if'а. Если развивать мысль в этом направлении дальше, то циклы стоит запретить и всё делать через рекурсию. Разговоры вокруг и около goto сводятся к поговорке "заставь дурака богу молиться..." LVV>Ни for, ни while не являются замаскированными goto.
Да ну? А если дизассемблером посмотреть?
LVV>>"Мастерство не пропьешь"(с)... P>Оно, конечно, так. Но иногда некоторые коллеги присылают мне жалобы: такой-то участок кода не работает. Я открываю. Первая реакция: какой идиот это написал? Чуть позже с глаз спадает пелена, и я вижу: код — мой. Сделан так, что строка, добавленная коллегой, его сломала. Видимо, писался в спешке. А может, сейчас требования изменились. Деталей не помню, код написан несколько лет назад. И приходится мне правки в него вносить самому. P>Конечно, это не типичный случай. Но всякой бываеь.
Бывает. Я для этого применяю ТОТАЛЬНЫЙ коммент.
Студенты не верят, что я могу открыть прогу 7-летней давности и все по ней рассказать.
Когда видят комменты — глаза на лоб лезут: комментов больше кода...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>>В данном случае конкретно статья Кнута была не мнением, а исследованием. C>Нет таких исследований.
Найду ссыль — пришлю. LVV>>Вывод Кнута (на основании исследований кода программ на фортране) однозначен: использование goto без должной дисциплины приводит к большему количеству ошибок. C>Нет. C>Использование goto для прыжков назад приводит к увеличению ошибок. Использование goto для прыжков вперёд количество ошибок уменьшает. Это было проверено уже много раз в проектах, которые пишутся на С.
Это было задолго до С — еще для фортрана. И как раз Кнутом. C>Но по какой-то идиотской причине до университетов это до сих пор не дошло. Видимо, из-за того, что преподаватели практическим программированием занимаются мало.
Если до американских не дошло, то это ИХ проблемы...
У нас — все дошло.
Пишем вообще без goto...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Вывод Кнута (на основании исследований кода программ на фортране) однозначен: использование goto без должной дисциплины приводит к большему количеству ошибок. LVV>Это — НАУЧНЫЙ результат. LVV>>>Основная мысль состоит в том, что такой код (напичканный goto) LVV>>>а) трудно читать LVV>>>б) трудно модифицировать.
А как ты в Фотране 4 сделаешь цикл типа while без goto вверх?
Можно использовать обычный цикл do, но там нужно переменную цикла модифицировать где-то по ходу действия. Такой код гораздо менее понятен, чем просто goto вверх.
Ну, еще можно использовать арифметический if. В нем слова goto нет, не так раздражает. Я постоянно так делал.
Да, я знаю, что Фортран 4 для новых проектов не используется. Но за десятиления на нем накопилась масса работающего кода. Его используют.
А goto вниз — это вполне нормально. В Java break не метку не просто так придумали. Выход из кучи вложенных циклов, освобождение ресурсов в C, да мало ли.
Здравствуйте, LaptevVV, Вы писали:
LVV>Ну, пишите, как хотите. Структурное программирование — это только рекомендации...
Увидел словосочетание "структурное программирование" и вспомнил случай из прошлого. Я о нем уже как-то рассказывал, ЕМНИП.
Зашел я как-то в одну контору к приятелям по какому-то поводу. А у нах какая-то ерунда с компом приключилась. Деталей не помню. Только предложил я им попробовать натравить на эту ерунду утилитку, которую я сделал несколькими днями раньше. Делов на несколько сотен строк.
Запустили ее. Вижу, работает.
И увидел я там одного препода не то информатики, не то программирования. Адепт структурного программирования. Я шапочно был с ним знаком. И что-то он кому-то задвигал о вреде goto. И рассказывал азбучные истины структурного программирования. А я возьми и покази ему на комп, где моё творение работало. Вот в той программе, говорю, есть один goto, который экономит строки кода и облегчает отладку. Препода бомбануло, "я бы тебе зачет не поставил", все дела. Но коллеги пиво поставили мне за вовремя принесенную программу, а не ему за отстаивание принципов структурного программирования.
Позже выяснилось: этот препод не знал, что номера строк в Васике давно отменили. Но это уже другая история.
Здравствуйте, LaptevVV, Вы писали:
LVV>Бывает. Я для этого применяю ТОТАЛЬНЫЙ коммент. LVV>Студенты не верят, что я могу открыть прогу 7-летней давности и все по ней рассказать. LVV>Когда видят комменты — глаза на лоб лезут: комментов больше кода...
Я сейчас редко оставляю в коде комментарии. Обычно они нужны, когда требуется не забыть что-нибудь допилить. После допиливания комментарии убираются. Время 2-х и 6-символьных идентификаторов прошло.
Иногда комментировал чужой код, написанный в стиле Фортрана 4. Но это для себя, когда копать приходилось. Некоторые умудрялись писать такой код даже на FoxPro, в котором goto по записям, а не по коду, бегает.
Здравствуйте, Pzz, Вы писали:
Pzz>Вот чем хорош язык Go, в нем есть один единственный правильный стиль, который жестко енфорсится редактором текстов. И это сразу снимает все вопросы по стилю. И очень освобождает руки от форматирования текста.
В С++ IDE уже умеют форматировать код по мере набора с помощью clang-format (не только отступы, а именно продвинутое форматирование: скобочки, пробелы, перенос строк и т.п.). Стиль какой хочешь можно определить.
Здравствуйте, Sheridan, Вы писали:
S>Уроды это придумали. Недоучившаяся школота, не знающая инструментария. Не должен компилятор следить за стилем, для этого отдельные утилиты есть, тот же astyle.
Нормальные утилиты на компиляторе и основаны: clang-format. Просто по ключевым словам С++ полноценно не отформатируешь.
P>Я сейчас редко оставляю в коде комментарии. Обычно они нужны, когда требуется не забыть что-нибудь допилить. После допиливания комментарии убираются. Время 2-х и 6-символьных идентификаторов прошло.
У меня была другая картина.
Научник использовал научные обозначения величин, принятые во всем мире и прописанные во всех статьях...
И настоятельно мне рекомендовал использовать эти имена для соответствующих переменных.
Ибо я когда-нить перестану у него работать, а ему потом разбираться...
Вот и приходилось однобуквенные имена комментариями обкладывать. P>Иногда комментировал чужой код, написанный в стиле Фортрана 4. Но это для себя, когда копать приходилось. Некоторые умудрялись писать такой код даже на FoxPro, в котором goto по записям, а не по коду, бегает.
Я вот прямо сейчас код курсовой одного студня правлю.
Сижу, комменты добавляю — чтобы понятней ему тоже было...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!