Clean Code
12.8K subscribers
2.51K photos
7 videos
3.32K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
Инкапсулируйте граничные условия

Отслеживать граничные условия нелегко. Разместите их обработку в одном месте. Не позволяйте им «растекаться» по всему коду. Не допускайте, чтобы в вашей программе кишели многочисленные +1 и –1.

#cleancode
Выберите ниже правильный ответ 👇🏼

#тесты
👨‍💻 Не используйте "магические числа"

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

#совет #код
📖 Чистый код
🖋 Роберт Мартин, 2013

Считается, что программирование — это прикладная дисциплина, и в её изучении упор нужно делать не только на практику, но и на теорию. Хотим представить вам книгу, за счет которой вы точно повысите свою ценность как профессионала.

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

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

💾 Скачать книгу

#книги
🧑‍💻 Хороший код — это лучшая документация.

Каждый раз, когда вы захотите добавить комментарий, спросите себя: «Как я могу улучшить этот код, чтобы он не требовал комментирования?»… Стив МакКоннелл

Пишите простой, понятный, но в то же время логичный код
Как и в других областях, формула KISS (Keep it simple and short — делай короче и проще) работает и в программировании. Пишите логичный код и избегайте усложнений. Иногда люди пишут сложный код только для того, чтобы доказать, что они умеют писать такой код, но опыт подсказывает, что простой и логичный код всегда работает хорошо, приносит меньше проблем и лучше поддается расширению.

#совет #код
Requests

Имея больше 44 тысяч звезд на GitHub и тысячи скачиваний ежедневно, Requests занимает первую строчку рейтинга самых популярных и полезных библиотек для разработки на Python. Эта библиотека используется в проектах Spotify, Microsoft, NPR, Heroku, Amazon, BuzzFeed, Reddit, Twitter, Mozzila ...

Requests уменьшает тяжелую ручную работу и автоматизирует такие задачи как добавление строки запроса к URL, шифрование форм отправки данных, постоянное HTTP-соединение, объединение HTTP-соединений и т. д. путем использования urllib3.

Для облегчения разработки также обеспечивается автоматическое дешифрование контента. Библиотека предлагает загрузку других функций, таких как журнал аутентификации, элегантные key/value cookies, Unicode-представление для атрибута body объекта response, потоковое скачивание, тайм-аут соединения, поддержка .netrc.

📑 Документация

#инструменты #python
📌 Используйте осмысленные имена для переменных, функций, классов

Всем программистам известен термин "обфускация кода” — сознательное запутывание программного кода с помощью приложения-обфускатора. Она делается с целью скрыть реализацию и превращает код в невнятный набор символов, переименовывает переменные, меняет имена методов, функций и прочее.

К сожалению, случается так, что код и без обфускации выглядит запутанно — именно за счёт бессмысленных имён переменных и функций: var_3698, myBestClass, NewMethodFinal и т.д. Это не только мешает разработчикам, которые участвуют в проекте, но и приводит к бесконечному количеству комментариев.

Между тем, переименовав функцию, можно избавиться от комментариев — её имя будет само говорить о том, что она делает.

#код
📖 Искусство программирования
🖋 Дональд Кнут, 1986

Еще один must have. «Искусство программирования» (все тома) Дональд Кнут.

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

Билл Гейтс сказал об этой книге: «Если вы считаете себя действительно хорошим программистом, прочитайте Искусство программирования [Кнута]… Если вы сможете прочесть весь этот труд, то вам определенно следует отправить мне резюме».

💾 Скачать книгу. Том 1

#книги
🗞 Tinder для программистов

Энтузиаст разработал Tinder для программистов — в нём лайкают строки кода вместо фотографий.

Программист из США Бен Авад разработал сервис знакомств для программистов. Проект получил название VSinder. Его участники выбирают себе пару по строкам кода, а не фотографиям потенциального собеседника.

Процесс выбора партнёра реализован как в Tinder — понравившиеся строки кода «свайпают» влево, а остальные — вправо. В случае совпадения программа предоставит возможность переписываться в чате. Сервисом можно воспользоваться при помощи редактора кода Visual Studio Code.

#новости
6 ошибок, которые часто встречаются в резюме IT-специалистов

Резюме – это «лицо» соискателя, которое очень важно правильно подать. Это «одежка», по которой вас будут встречать. Это описание вашей собственной истории успеха, которая должна заслужить продолжения.

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

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

#статьи
#тест

Задать вопрос и обсудить решение можно в нашем чате.

Выберите правильный ответ ниже 👇🏼
Какая из конструкий обозначает тип данных?
Anonymous Quiz
3%
mod
92%
char
1%
if
2%
case
3%
div
🛠 SFML — свободная кроссплатформенная мультимедийная библиотека

Написана на C++, но доступна также для C, C#, .Net, D, Java, Python, Ruby, OCaml, Go и Rust.
SFML − одна из наиболее удобных и быстрых GUI-библиотек для 2D-графики. Среди плюсов − низкие требования к уровню владения языком программирования.

Библиотека часто используется стартапами и начинающими программистами, потому что не требует написания большого объёма кода. Простейшее приложение, вроде «Hello, World!», можно написать через минуты после запуска, а уже через неделю − сделать что-нибудь стоящее. Ещё одним крутым преимуществом является поддержка популярных платформ, в том числе Android.

📑 Документация

#инструменты
Симуляция жизни на С# (Часть 1)

В этом уроке мы создадим симуляцию жизни на C#, а именно реализуем клеточный автомат, он же игра Жизнь.

Игра «Жизнь» — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970 году. Правила игры таковы, что никакое взаимодействие не может передаваться быстрее хода шахматного короля. Его скорость — одна клетка в любом направлении — часто называют «скоростью света».

📺 YouTube

#видео #C_sharp
📖 Совершенный код
🖋 Стив Макконнелл, 2013

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

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

💾 Скачать книгу

#книги
🧑‍💻 Соблюдайте единый Code style

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

if (typeof a ! == "undefined" &&
typeof b ! == "undefined" &&
typeof c === "string") {
//your stuff
}

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

for (var i = 0; i < 100; i++) {
}

В некоторых средах разработки можно изначально задать правила форматирования кода, загрузив настройки отдельным файлом (доступно в Visual Studio). Таким образом, у всех программистов проекта автоматически получается однотипный код, что значительно улучшает восприятие. Известно, что достаточно трудно переучиваться после долгих лет практики и привыкать к новым правилам. Однако в любой компании code style — это закон, которому нужно следовать неукоснительно.

#совет #код
Что думают о красивом коде в Яндексе

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

📺 YouTube

#видео #cleancode
🔥 Лучшее на канале за прошлую неделю

1
. 6 ошибок, которые часто встречаются в резюме IT-специалистов.

2. SFML — свободная кроссплатформенная мультимедийная библиотека.

3. Используйте осмысленные имена для переменных, функций, классов.
Winget

Инструмент командной строки, который позволяет разработчикам находить, устанавливать, обновлять, удалять и настраивать приложения на Windows. Этот инструмент является клиентским интерфейсом для службы диспетчера пакетов Windows.

📑 Документация

#инструменты