Есть ли сайт, где собраны общепринятые практики программирования?

Суть такая: человек, прочитав учебник, начинает чтото писать и только потом случайно узнает, что счетчик принято делать byte а не int. Или пол юзера в бд обзначать не строкой а булевом. Или что сравнивать надо при авторизации не пароли, а хэши. Или когда уже достаточно лепить методов и пора бы сделать наследование. Это все тут ради примера. Чтото вроде советов бывалых рыбаков, нюансов, про которые расскажет дядя сеньор новенькому джуну, но про что обычно не пишут в книжках. Как, например, что гвоздь нужно смазать салом, чтобы он легче входил в твердое дерево.
  • Вопрос задан
  • 6304 просмотра
Решения вопроса 6
Moskus
@Moskus
Естественно, нет, потому что всё, что вы описали - это не какое-то тайное знание, которое можно только запомнить, а логичные приёмы, которые следуют из знания фундаментальных принципов и анализа требований к продукту. Если попытаться заменить фундаментальные знания таким сборником прецедентов, он получится гигантским и совершенно непригодным для освоения - столько всего просто нельзя запомнить. Объем фундаментальных знаний - на порядки меньше объёма частностей, которые из них выводятся, но сложность этих знаний, при этом, выше. Кто фундаментальные знания не осилил, остаётся говнокодером, пока не осилит.
Ответ написан
Комментировать
@akimdi
Вы спрашиваете
где собраны общепринятые практики ?

Нечто подобное собрано в топиках на гитхабе
например есть так называемые Awesome Lists, где кто то собирает лучшие практики, кто-то собирает курсы, а кто-то шаблоны проектирования и т.п. и т.п. Их там много можно найти на любой вкус.
Ответ написан
xez
@xez
TL Junior Roo
но про что обычно не пишут в книжках.

В книжках, как раз и пишут.
Например:
Чистый код Роберта Мартина,
Совершенный код Стива Макконнелла
Паттерны проектирования, тоже, можно сказать, про это.
Ответ написан
но про что обычно не пишут в книжках

Что вы, в книжках как раз такое и пишут. Вот например, ваш вопрос про хранение хэшей паролей, а не их plain-text представления, наверняка прекрасно рассмотрен в книге https://www.amazon.com/Web-Application-Security-Be... . Это первое что мне попалось в поиске, но судя по индексу и содержанию, там это всё 100% будет.

прочитав учебник, начинает чтото писать и только потом случайно узнает

Да, возможно такое, учебник ведь не один нужно прочитать.

Вы наверное уже хотите сказать - а прочитал ли я хотя бы по одной из книг на каждый приведённый вами пример? Нет, в целом я прочитал не так много книг. В какой-то момент я: а) начал делать законченные работающие вещи (приложения/скрипты/etc); б) устроился на работу; в) ещё до всего этого научился вовремя задавать себе вопрос "а правильно ли я делаю?". Количество источников информации повышалось: к книгам и лекторам добавились коллеги, потом добавилось чувство "что-то я говнокод пишу, нельзя ли получше". После этого гуглить и совершенствоваться приходится каждый день.

Вы по большому счёту спрашиваете - где я могу найти сайт, чтобы пройти этот путь за N дней/недель. Вы не одиноки - все так хотят. Более того, многие думают, что "тот чувак" когда-то нашёл такой "сайт" и поэтому такой молодец теперь.

Если бы был такой "сайт", сеньорам с 10-летним опытом, которые лет 15 (10 лет полноценного стажа ПЛЮС лет 5 обучения и подработок) собирали информацию из тысяч истоничков и испытывали её на себе, не предлагали бы зарплаты в сотни тысяч рублей.
Ответ написан
Ranwise
@Ranwise
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Пригласить эксперта
Ответы на вопрос 6
Такой сайт - это годы практики, тонны граблей и любви к своему делу.
Закачивалки в мозг, как у Джонни-мнемоника, не существует.
Ответ написан
Комментировать
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Таких нет. Все через конференции, статьи и все такое. Сколько поектов - столько решений
Ответ написан
Jeer
@Jeer
уверенный пользователь
Всем привет.
Если я правильно понял вопрос, то это всё обзывается словом "спецификация". Когда выходит новая версия языка, например, майкрософт выпускает очередную версию c#, в которой появляется, скажем, оператор "$", то вместе с этой версией языка выпускается и спецификация - рекомендация как правильно с этим работать. Так же во многих (нормальных) компаниях есть так называемый code style, который, обычно, складывается из этих самых спецификаций и набивается опытом. Как раз в таких документах описаны правила, например, в каком порядке объявлять переменные, в каком стиле должны быть прописаны различные именования, если класс наследуется от IDisposable, то работать с ним только через using. Не использовать First(), если в базе элемент должен быть один, а использовать Single(), например, для редактирования одной сущности.
Если кинете почту, я могу выслать свой документ, который я утащил с одного хорошего проекта. Банальное выполнение правил делает ваш код намного понятнее и читаемее для других участников. Да что говорить, раньше, когда я смотрел на свой код всего лишь полугодовой давности у меня просто вытекали глаза и хотелось всё переписать. Такого больше не повторяется )
Ответ написан
@sabirovvlad0
хороший сайт https://proglib.io
Ответ написан
Комментировать
@stratosmi
А сайт где собран ВЕСЬ жизненный опыт человека нужен?

Это невозможно в такой постановке задачи.
Скажем пара десятков паттернов в одной статье - да это возможно.

Сайты типа Хабра или СтекОверфлау - да, возможна.

А то, как вы сформулировали - нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы