Как наработать опыт в стилистике написания кода?

Недавно ознакомился с заметкой об использовании функций высшего порядка в питоне. Там автор весьма интересно классифицирует людей по стилистике написания функций на нубов-опытных_нубов-программистов-тру_скилл_хакеров. Так вот, я отношусь к первому, иногда ко второму и совсем редко к третьему типу прогера. Проще говоря, я боюсь стать тупым быдлокодером (хотя бояться нечего -- уже им стал). Это связано с тем, что даже тривиальные задачи я решаю излишне сложно, многоэтапно - не нахожу, грубо говоря, очевидного решения в несколько строк.
Мне советовали учить алгоритмы, но думаю, что они позволят разобраться детально в скорости работы программ: мне же важно на данном этапе хотя бы перестать писать быдлокод.

Поделитесь опытом того, как Вы пишите чистые функции. Возможно, Вы приведёте какую-то литературы или ресурсы -- за это отдельное спасибо!
  • Вопрос задан
  • 2984 просмотра
Пригласить эксперта
Ответы на вопрос 7
@AnneSmith
самая ленивая
во многих случаях код с подробными шагами пишется для удобства чтения и отладки, чтобы в любом месте ткнуть брейкпойнт и увидеть значение, особенно если этот код будут поддерживать другие люди, или чтобы потом самому не вспоминать, что намудрил

термин быдлокод больше относится к плохо структурированному коду и прописанными в нем данными типа id элементов системы или какие-либо сообщения

причем даже если такой код есть, то рефакторинг не всегда оправдан временными затратами, часто дешевле сделать копипаст для другого случая, чем тратить время на решение в общем случае, но при этом надо помнить на что это повлияет в долгосрочной перспективе

а умение грамотно структурировать и код и данные приходит из того самого высшего математического образования, которое учит мыслить абстрактно, но которое усиленно игнорируется желающими стать программистами
Ответ написан
@asd111
Если ты не читал ни одной книги по алгоритмам, то ты будешь изобретать велосипеды.
Возьми любую самую маленькую книгу по алгоритмам и скилл вырастет.
Ответ написан
@balamyt92
; select * from users; --
Мне советовали учить алгоритмы, но думаю, что они позволят разобраться детально в скорости работы программ: мне же важно на данном этапе хотя бы перестать писать быдлокод.

Быдлокод как раз от незнания/неумения в алгоритмы, паттерны и построение абстракций на их основе.
Ответ написан
@red-barbarian
В питоне есть красивые решения для типовых небольших задач.)
что бы их знать, нужно изучать различные кукбуки.
также библиотеки которые входят в стандартный набор.
т.е. изучение лямбд, [], {}, map ... На примерах и из документации.

библиотеки в первую очередь сollections, Functional Programming Module.
Через это придет опыт написания красивого и выразительного кода.

Касаемо, как писать вообще код (не только решение мелких типовых задач), то здесь на первое место выходит умение выбрать хорошее название (переменной, функции, класса и т.д.) Про это есть много книг и видео. Это очень важно.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Соблюдайте SOLID, примите что SRP важнее DRY, добивайтесь 100% покрытия тестами.
Маячком, что вы делаете что-то не так будет кровавый понос при написании тестов.
Ответ написан
opium
@opium
Просто люблю качественно работать
У питона есть Пип который описывает как должен выглядеть стиль кода
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы