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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
Выберите ниже правильный ответ 👇🏼

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

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

#совет #код
📖 Чистый код
🖋 Роберт Мартин, 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.

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

#инструменты
🧑‍💻 Создавайте методы как новый уровень абстракции с осмысленными именами и делайте методы компактными

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

Создавая отдельные небольшие методы, программист получает хороший код, разделённый на блоки, в которых содержится реализация каждой из функций. При таком подходе нередко увеличивается количество строк кода. Есть даже определённые рекомендации, которые указывают длину метода не более 10 строк. Конечно, размер каждого метода остаётся целиком на усмотрении разработчика и зависит от многих факторов. Наш совет: всё просто, делайте метод компактным так, чтобы один метод выполнял одну задачу. Отдельные вынесенные сущности проще улучшить, например, вставить проверку входных данных прямо в начале метода.

#совет #код