Clean Code
13.3K subscribers
2.32K photos
5 videos
2.97K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

РКН: clck.ru/3Ht6ch
加入频道
Фанатик

Это именно тот разработчик, который предан какой-то одной технологии Большой Компании. Он знает все тонкости технологии и старается всеми силами интегрировать её в текущий проект. Любые другие подходы к разработке он отвергает, т.к. зачастую плохо разбирается в альтернативах.

Как быть, если вы один из них: не пытайтесь слепо верить в мощь одной технологии, воспользуйтесь другими подходами и образом мышления.

Как работать с такими людьми: его болезнь заразна, поэтому не стоит спорить с ним, если вы не разделяете его отношения к технологии. Для того чтобы побороть его преданность, нужна тщательная оценка всех способов реализации, а также ясная точка зрения на предметную область.

#tips #programmer_type
Как писать SOLIDно

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

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

Читать статью (6 мин.)

#programming #solid
Rollbar

Rollbar поддерживает интеграцию с GitHub, помогая находить, определять причины и решать ошибки и баги в течение нескольких минут. Особенности данного инструмента:

Глубокое взаимодействие с исходным кодом;
Отслеживание истории развертываний;
Синхронизация с GitHub Issues;
Рекомендации по исправлению ошибок в коммитах;

Rollbar поддерживает все самые популярные языки: JavaScript, PHP, Ruby, Python, Java, C# и др. Помимо GitHub, он интегрируется с продуктами Atlassian.

GitHub | Atlassian

#tools #error_fixing
5 практик Git, которые помогут работать эффективнее.

Git помогает нам работать в команде над одним проектом и отслеживать рабочий процесс, но чтобы прогресс шел уверенно и быстро, следует придерживаться определенных правил, которые описаны в следующей статье.

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

Читать статью (5 мин.)

#programming #git
Множественный возврат

Грамотное использование операторов return для обеспечения множественного возврата из метода может значительно повысить читабельность кода.

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

#tips #clean_code
Как читать техническую литературу

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

Эффективное усвоение информации технической литературы достигается путем медленного диалога с самим собой по поводу прочитанного, при этом очень важно оставлять письменные заметки, кратко подводящие итоги по прочитанной главе. Таким образом изучение технической литературы будет не только глубоким, но и увлекательным. В статье описан сценарий перехода от скучного чтения у глубокому усвоению.

Читать статью (5 мин.)

#programming #books
Идеальный программист

В реальности идеальных программистов не существует — лишь в легендах. Он дипломат и мудро относится к огрехам странных кодеров, менеджеров, тестеров. Он хорошо срабатывается с людьми, умеет слушать других и высказаться сам.

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

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

#tips #programming_type
6 привычек высокоэффективных программистов

Замечали ли вы, что с опытом разработчики больше проектируют, чем пишут код? Это позволяет им продумать всю картину целиком, а потом сфокусироваться на отдельных элементах, чтобы сделать их реализацию элегантной и самое главное - простой.

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

Подробнее (5 мин.)

#programming #principles
Code Inspector

Инструменты помогают в разработке качественного ПО, сегодня вы познакомитесь с платформой для анализа кода — Code Inspector, которая осуществляет автоматический анализ кода, управление техническим долгом и строит графики тенденции качества кода.

Доступ к данным Code Inspector можно получить через GraphQL API; поддерживает, помимо GitHub, интеграцию с Slack, Google Chrome Extension, Mergify.

Github | Mergify | Slack

#tools #code_analysis
Чему я научился, обучая других программистов

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

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

Читать статью(5 мин.)

#programmin #teaching
Преобразуйте if в набор if-then-else

Использование вложенных if оправданно только в очень узком кругу задач. Фрагмент слева - развестистое дерево решений, которое имеет много недостатков хотя бы потому, что проверяемые условия избыточны. Этот код легко преобразуется в набор if-then-else.

А что если бы числа не были так упорядочены? Тогда можно необходимое условие вынести отдельно и в операторе if выполнить операцию И, чтобы добиться необходимого результата без применения вложенности. Код сложнее понять, если он движется вглубь — все, что видит программист, должно лежать на поверхности.

#tips #if_then_else
Почему менеджмент ограничивает ваш потенциал разработчика

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

Многие менеджеры не задумываются о будущем своих подчиненных и не уделяют никакого внимания их профессиональному росту и совершенству. Я помню, работал в одной небольшой компании, менеджер которой мне часто говорил: "Ты пришел сюда работать, а не учиться" Тогда я понял, что мне пора уходить, и сделал это незамедлительно. Статья рассматривает те случаи, когда вы теряете квалификацию, продолжая работать в коллективе равнодушных разработчиков.

Читать статью (5 мин.)

#programming #management
GitKraken Glo Boards

Работая в команде, важно понимать, какую задачу в данный момент необходимо выполнять каждому участнику. Для того чтобы управлять рабочим процессом, можно использовать GitKraken Glo Boards - полноценное приложение, которое полностью синхронизируется с GitHub Issues.

Им можно пользоваться прямо из VS Code или через мобильное приложение, что позволит вам в любой момент отслеживать прогресс разработки и текущие изменения.

GitHub | Tutorial

#tools #team_management
Тебе не сравниться с плавающей точкой

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

Всегда, когда вы работаете с двумя числами с плавающей запятой и пытаетесь сравнить их на равенство, вспоминайте о теории вероятностей с доказательством гипотез о равенстве матожиданий, именно таким подходом проверяются на равенство числа с плавающей точкой.

#programming #floating_point
6 привычек высокоэффективных программистов (ч.2)

Продолжение статьи о привычках высокоэффективных программистов, выработка которых и постоянное следование которым приведут вас к новому пониманию себя как разработчика.

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

Читать статью (6 мин)

#programming #self_improvement
Depfu

Не "фу", а полезный инструмент для получения всей необходимой информации перед тем, как принимать решения о выпуске новых обновлений зависимостей приложения. Он снижает риски пропустить выпуск важных версий, тем самым экономит ваше время.

Depfu обеспечивает:
● Легкую интеграцию с GitHub и GitLab;
● Настраиваемые по регулярности Pull-риквесты;
● Адаптацию с CI вашей команды.

Легковесный инструмент для поддержания актуальности зависимостей приложения. Поддерживает проекты Ruby, JavaScript, Elixir.

GitHub

#tools #dependencies
Миф сеньора

Вокруг звания senior разработчика крутится очень много мифов. Самый популярный из них формулируется следующим образом: мнение Senior — непреложная истина.

Достаточно часто разработчики senior прельщаются своим званием, ведь это вершина, которую покорить удается далеко не каждому, высокий заработок — сильнейший наркотик, чаще играющий злую шутку. Senior — тот, кто учится всю жизнь. Читайте статью, чтобы не обманывать себя хрупким мнением.

Читать статью (5 мин)

#programming #senior_myth
#daynews #microsoft #issues
Разработчики Microsoft ежемесячно допускают 30 000 ошибок в ПО и сервисах.
Обдумай — потом проектируй

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

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

#clean_code #clean_architecture
Проекты, которые вы можете разработать, сидя дома.

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

В данной статье представлен список проектов, которые вы можете попробовать разработать. Изюминкой статьи является наличие ссылок на обучающие материалы по тематикам приложений.

Читать статью(6 мин)

#programming #learning
#daynews #github #environment
В GitHub встроили облачную среду разработки на основе VSCode - Visual Studio Codespaces. С помощью Codespaces теперь можно редактировать код не выходя из репозитория. #сидим_дома

Github Codespaces