Нормальный ли у меня код?

Разработчики часто задаются таким вопросом. Давайте подумаем, как оценить "нормальность" кода. На мой взгляд, важны следующие аспекты:

Код решает поставленную задачу. Самым важным является достижение цели. Код, который работает неверно, однозначно не нормальный. Пусть криво и косо, но нужный результат должен быть получен.

Код легко читается. Правильная архитектура, понятное именование переменных, достаточные комментарии, короткие функции. Это целый набор плохо формализованных требований к коду. Сможете ли вы спустя год понять, что происходит в коде? Сможет ли код разобрать ваш коллега? Сколько времени займут изменения вашего кода?

Быстрый по скорости и компактный по данным. Другими словами, код должен быть нормальной вычислительной и пространственной сложности. Тут помогают и интуитивные представления (что-то тормозит), и теория вычислительной сложности (О-нотация). Если вы сортируете записи за O(n^3) и требуете O(n^5) оперативной памяти, то вы делаете что-то не так.

Если код решает поставленную задачу, легко читается, быстрый и компактный — то код точно нормальный. Если нет, то у вас есть пространство для улучшения.

Если, конечно, не горят сроки

Лига программистов

2K постов11.9K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Вы смотрите срез комментариев. Показать все
4
Автор поста оценил этот комментарий

Для ЛЛ: нормально пишите, ненормально не пишите, вот вам тгк

раскрыть ветку (7)
0
Автор поста оценил этот комментарий

Так конкретные критерии, на что смотреть. Вы джунов учите? Как им объясняете, что есть хороший код?

раскрыть ветку (6)
0
Автор поста оценил этот комментарий

А что, вашим джунам действительно нужно объяснять, что такое хороший код?
Они не знают, что код для начала должен быть рабочим, хорошо бы, чтобы был оптимальным и совсем прекрасно, чтобы был читаемым?

Джунов я последние пару лет среди коллег не наблюдаю. Но когда учил стажеров несколько лет назад, они бы сами посмеялись над вашим постом, потому что как сейчас говорят - это база.

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

Я преимущественно учу студентов. Если они к моменту выхода на работу понимают эту базу, то я свою работу делаю замечательно)

Рынок сейчас весьма неоднороден. Что я даю студентам, то весьма актуально стажёрам, потому что стажёр может быть с весьма и весьма разным бэкграундом

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Всё бы ничего, но все ваши посты - это реклама вашего тгк.

Если бы вы добавляли тег Реклама или сразу в посте писали, что это реклама канала - вопросов бы не было.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

С чего бы посты - реклама? Пост контентный и несёт вполне определённую мысль. Он закончен и самостоятелен, никаких "далее читайте где-то ещё". Да, конкретно этот пост небольшой, такая заметка. Это плохо?

В конце поста (а в этом посте вообще в комментарии) есть ссылка на ТГ. Если она вам мешает, не переходите, делов то. В чём проблема ссылки на ТГ, где именно такого формата посты и выходят?

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

С чего бы посты - реклама?

Потому что цель - подписка на тг-канал.

Посты - просто ниочём.

"Утром надо чистить зубы. Если нее чистить зубы - будет кариес. Хочешь узнать больше ценных советов - подписывайся на тг-канал".

"После того как сходил по-большому - надо вытирать задницу туалетной бумагой. Если задницу не вытирать - будете вонять. Хочешь узнать больше ценных советов - подписывайся на тг-канал"
"Перед едой надо мыть руки. Если руки не мыть - можно получить дизентерию. Хочешь узнать больше ценных советов - подписывайся на тг-канал".


Тоже ведь просветительская деятельность, правда? И советы в общем-то ценные.
Проблема в том, что они общеизвестны, а значит нахрен никому не нужны. А те, кто этих советов не знает - не сидит на Пикабу, аудитория не та.

А значит весь смысл это "просветительской деятельности" - реклама тг-канала для набора подписоты.

Уберите рекламу - все вопросы к вам отпадут.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо за развёрнутый ответ, но со смыслом согласиться не могу. Это репост старого поста https://t.me/devfm/108

Если пост нравится, то и в канале будет интересно читать посты. Я не завышаю ожидания, а показываю пример материала из канальчика. На текущий момент у исходного поста в канале 630 просмотров и 13 позитивных реакций, ни одной негативной. То есть, несмотря на тривиальность и общеизвестность, людям понравилось

Идём дальше, пост вышел одновременно и на хабре https://habr.com/ru/posts/897856/ . Там 8.6к просмотров, 4 голоса "за", 0 голосов против, и 3 сохранёнки. Супер

Идём ещё дальше. Предложение прочитать канал уже в комментарии убрано, лол. Не хочется - не переходите. То есть даже в ленте вы ссылку на ТГ не увидите, нужно зайти в пост. Чем это мешает?

Смысл рекламы то простой. Я, очевидно, хочу, чтобы меня читали. Значительно приятнее, когда тебя читает больше людей, чем меньше. Так можно найти больше полезных мыслей в обсуждении, как минимум. Например ещё, мой бесплатный курс на степике https://stepik.org/course/169291/promo не набрал бы 2к студентов, а был бы пустым опубликованным курсом. Собственно, вы предлагаете мне создавать материалы, чтобы они лежали никому не известные с тремя просмотрами. Спасибо, воздержусь от такой прекрасной возможности

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку