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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
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
Уязвимостей ради сообщаем

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

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

#tips #exploits
Почему Python не язык будущего

Да, предвосхищаем волну возмущения, ведь как это так, Python - один из самых популярных языков с множеством библиотек для работы в разных отраслях, но проблема Python - в его архитектуре.

На сегодняшний момент набирают популярность более молодые языки,например, Julia, Go, Rust, которые решают архитектурные пробелы Python в виде динамической типизации, влекущей падение производительности, механизма интерпретирования, требующего большого количества тестов для отладки. В статье описаны сценарии, почему Python, скорее всего, будет вытеснен другими языками программирования.

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

#programming #languages
Уменьшите вложенность с помощью повторной проверки части условий

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

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

#programming #clean_code