во всех книгах о правильном коде описывают синтаксис, и как сделать код понятный человеку.
Я знаю С, С++, asm (nasm) прорешал множество алгоритмов. Завел себе текстовый документ со всеми алгоритмами более 3000 строк. (Единственное не осилил Кнута). Но попрежнму не понял что такое хороший код. Есть сайт где показывают "говнокоды" там понятно что такое плохой, но что такое хороший я не понимаю. Я не понимаю когда я достигну того уровня когда можно будет устраиваться на работу. Может быть, что нибудь посоветуете. Неделю назад я думал, что я бог, а сейчас я думаю что я ничего не понимаю
Другие языки программирования и технологии
как научиться писать хороший код? В смысле я даже не понимаю что такое хороший код. Что такое хороший код?
Изучайте программную инженерию.
По мне, хороший, это безопасный и с прозрачным интерфейсом
Если ты знаешь c++ значит всё Ок ...
Зря не осилили Кнута. У него код хороший :-)
Есть литература, посвященная этому вопросу. Так с ходу, на ум приходит только Макконел "Совершенный код".
Вообще тема очень большая, в двух словах не охватишь. Но, если попытаться, то вот признаки хорошего кода:
1) он работает
2) код надежен - т. е. данные проверяются, все мыслимые ошибочные ситуации анализируются и предпринимаются адекватные меры, для немыслимых ошибок предусмотрены обработчики и т. п.
3) код строится на прочной теоретической основе - например, математической модели или теоретически обоснованных алгоритмах, общеизвестных шаблонах.
4) код понятен не только автору (этому способствует наличие стиля, использование комментариев и прозрачных решений, хорошая документация).
5) минимум избыточности
6) качественная структура (разделение программы на модули, классы, функции и т. п., отделение данных от программы, минимизация зависимостей между модулями, функциональное деление - данные отдельно, бизнес-логика отдельно, интерфейсы отдельно и т. д.)
7) оптимальная производительность
"ничего не понимаю" - это нормальное состояние при постоянном движении вперед, а в программировании иначе нельзя.
"Я школяр в этом лучшем из лучших миров
Труд мой тяжек, учитель уж больно суров
До седин я у жизни хожу в подмастерьях
Все еще не зачислен в разряд мастеров" (Омар Хайам) :-)
Есть литература, посвященная этому вопросу. Так с ходу, на ум приходит только Макконел "Совершенный код".
Вообще тема очень большая, в двух словах не охватишь. Но, если попытаться, то вот признаки хорошего кода:
1) он работает
2) код надежен - т. е. данные проверяются, все мыслимые ошибочные ситуации анализируются и предпринимаются адекватные меры, для немыслимых ошибок предусмотрены обработчики и т. п.
3) код строится на прочной теоретической основе - например, математической модели или теоретически обоснованных алгоритмах, общеизвестных шаблонах.
4) код понятен не только автору (этому способствует наличие стиля, использование комментариев и прозрачных решений, хорошая документация).
5) минимум избыточности
6) качественная структура (разделение программы на модули, классы, функции и т. п., отделение данных от программы, минимизация зависимостей между модулями, функциональное деление - данные отдельно, бизнес-логика отдельно, интерфейсы отдельно и т. д.)
7) оптимальная производительность
"ничего не понимаю" - это нормальное состояние при постоянном движении вперед, а в программировании иначе нельзя.
"Я школяр в этом лучшем из лучших миров
Труд мой тяжек, учитель уж больно суров
До седин я у жизни хожу в подмастерьях
Все еще не зачислен в разряд мастеров" (Омар Хайам) :-)
"Если ты знаешь c++ значит всё Ок" - ну тогда можно такую кашу заварить, что и будет не хороший код.
На работе тоже говнокод могут заставить писать, просто потому, что сегодня сказали одно, завтра другое... а переделывать уже нету времени, потому костыль этому коду и побежали дальше. Вот потом такой инвалид и валит всю систему.
Я не работаю программистом... хотя у нас тоже были свои заморочки и комменты как писать и что код должен быть обозрим на мониторе и в крайнем случае на два листа.
Но на практике бывало разное.
Покажи свой код на си, я скажу на сколько он похож по моим требованиям хорошего кода.
На работе тоже говнокод могут заставить писать, просто потому, что сегодня сказали одно, завтра другое... а переделывать уже нету времени, потому костыль этому коду и побежали дальше. Вот потом такой инвалид и валит всю систему.
Я не работаю программистом... хотя у нас тоже были свои заморочки и комменты как писать и что код должен быть обозрим на мониторе и в крайнем случае на два листа.
Но на практике бывало разное.
Покажи свой код на си, я скажу на сколько он похож по моим требованиям хорошего кода.
на работу никогда не будешь готов, всегда придётся учится новому.
в университете работать не учат, готовят учиться.
а хороший код это дело опыта. все учатся на ошибках.
в университете работать не учат, готовят учиться.
а хороший код это дело опыта. все учатся на ошибках.
Для меня лично критерий хорошего кода это:
1. Понятное наименование переменных и функций
2. Обильное сопровождение кода комментариями, особенно, когда дело касается сложных расчетов с кучей ветвлений\циклов.
3. Выбор правильных алгоритмов, структур данных для решения задачи.
4. Повторное использование кода, хотя иногда можно и избегать для наглядности.
1. Понятное наименование переменных и функций
2. Обильное сопровождение кода комментариями, особенно, когда дело касается сложных расчетов с кучей ветвлений\циклов.
3. Выбор правильных алгоритмов, структур данных для решения задачи.
4. Повторное использование кода, хотя иногда можно и избегать для наглядности.
Похожие вопросы
- как научится писать код???
- как писать чистый код?
- Объясните как происходит запись информации в двоичном коде. Специально распишу как я это понимаю, чтобы объяснитель
- Как научится писать код не в текстовом редакторе* или IDE, а на бумаге или доске для собеседования?
- Где писать основной код в Delphi7
- Как научиться писать программу?
- Не могу писать большой код. Что посоветуете?
- Кто-нибудь ещё пишет сейчас код в notepad?
- Помогите решить задачу на языке c++. Не понимаю условия в конце кода.
- Задаю этот вопрос уже 3-й раз. Язык с++. Алгоритм я понимаю но вставить в код не могу ( Кому не сложно скиньте код!