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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
Download Telegram
📖 Теоретический минимум по Computer Science
🖋 Фило Владстон Феррейра, 2018

Хватит тратить время на скучные академические фолианты! Изучение Computer Science может быть веселым и увлекательным занятием.

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

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

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

Clean Code #книги #ComputerScience
🧑‍💻 Проблема абстрагирования

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

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

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

Правильный способ – упрощение существующего кода или рефакторинг.

Clean Code #совет #cleancode #oop
JavaScript Паттерны. Шаблоны проектирования. 17 Примеров

Тот концепт, который позволяет решать типовые задачи, используя паттерны или шаблоны проектирования на языке javascript. В видео вы увидите примеры javascript паттернов и шаблонов проектирования

📺 YouTube

Clean Code #видео #js
🔥 Лучшее на канале за неделю

1
. JavaScript Паттерны. Шаблоны проектирования.

2. GitLab — полноценная платформа для разработки и эксплуатации, поэтому это также один из лучших инструментов для разработчиков.

3. Учитывайте интересы бизнеса.
Atom

Инструменты разработчика Atom бесплатны, имеют открытый исходный код и кроссплатформенные. Их можно использовать в Windows, macOS и даже Linux. Самым большим преимуществом Atom является то, что он помогает вам писать код быстрее с помощью интуитивно понятных и гибких функций автозаполнения, что делает его одним из лучших инструментов для разработчиков.

▍Чего еще можно ожидать?

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

▍Ключевая особенность

— Пакет Teletype имеет порталы в реальном времени, через которые вы можете поделиться своим рабочим пространством.
— Пакет GitHub для Atom объединяет Git и GitHub для вашего текстового редактора.
—Вы можете переключать или создавать ветви, изменять этапы, разрешать конфликты слияния и многое другое.

▍Плюсы

— Плавная интеграция с Git.
— Кроссплатформенный инструмент.
— У него есть форум, где вы можете попросить о помощи.
— Для экономии времени доступны отличные ярлыки.

📑 Сайт

Clean Code #инструменты
🧑‍💻 Общайтесь

Да, бывает откровенно плохой код. Но нужно сперва разобраться.

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

«Какой используется шаблон проектирования?»
«Как производятся тесты?»
«Каким образом разворачивается среда разработки?»
«Как получить доступ к данным?»
«Каким способом происходит миграция данных?»
«Как обеспечивается масштабирование, параллелизм, безопасность, аутентификация?»
Если разработчики недоступны, ищите ответы в коде.

Столкнулись с незнакомым паттерном? Ищите информацию о странных на первый взгляд наименованиях, встречающихся в коде.

А еще помните, что разработчики часто копируют код из интернета, и реализовывают идеи, которые изучили недавно (все этим грешат, верно?). Для подозрительных отрывков кода используйте поисковики.

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

Clean Code #совет #cleancode
📖 Грокаем глубокое обучение
🖋 Траск Эндрю, 2019

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

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

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

Clean Code #книги #NeuralNetwork
📑 Разработчик исправил баги 40-летней давности

Программист Гарри Маккракен рассказал, что недавно он решил вспомнить свою молодость и исправил несколько багов в игре Arctic Adventure, написанной им более 40 лет назад в 1981 году. Код игры был на Basic, а само приложение изначально предназначалось для запуска на компьютере TRS-80. Автор не только почти доработал свой проект до конца, но и портировал его для запуска в браузере.

Clean Code #новости
📑 13 редких и недооцененных языков программирования

На Java, Python, С/С++, JavaScript и PHP пишут миллионы разработчиков, но хорошему специалисту нужно постоянно изучать что-то новое. Данная статья содержит список редких, необычных и/или недооцененных языков программирования, на которые стоит обратить внимание.

Clean Code #статьи
Clean Code #test #oop

Выберите правильный вариант 👇🏼
🧑‍💻 Всегда начинайте с позитива

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

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

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

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

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

Clean Code #совет #cleancode #CodeReview
Sencha

Помогает проектировать, разрабатывать и тестировать программное решение с помощью различных продуктов, таких как Ext JS, ExtReact, ExtAngular, GXT, Sencha Test и Sencha Themer.

▍Что еще?

Sencha Ext JS помогает создавать комплексные веб-приложения HTML5 с большим объемом данных с использованием JavaScript. Вы также можете создавать кроссплатформенные веб-сайты и приложения для любого устройства. В нем есть готовая к работе инфраструктура, компоненты и инструменты, которые помогут вам создать веб-приложение.

▍Ключевая особенность

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

▍Плюсы

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

📑 Сайт

Clean Code #инструменты
🔥 Лучшее на канале за неделю

1
. 13 редких и недооцененных языков программирования.

2. Sencha — помогает проектировать, разрабатывать и тестировать программное решение с помощью различных продуктов, таких как Ext JS, ExtReact, ExtAngular, GXT, Sencha Test и Sencha Themer.

3. Грокаем глубокое обучение.
📑 MskHost объявил о приостановке работы после взлома и утечки данных клиентов

Вечером 12 сентября хостинг-провайдер MskHost объявил о приостановке работы. Это произошло спустя 12 часов после глобального взлома IT-инфраструктуры компании.

Clean Code #новости
🧑‍💻 Не «ты», а «код»

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

То же самое можно отнести и к ревью кода. Когда критикуете что-нибудь, важно избегать слова «ты» («вы»). Человеку и без того трудно принять критику его работы, так что не надо усложнять эту задачу, заставляя его прочувствовать, что это именно он был неправ. Например, можно совершенно изменить тон своего комментария, заменив «У тебя в в 25-й строке непонятная логика» на «Мне непонятна логика в 25-й строке». Я точно знаю, какой вариант я бы предпочла услышать, если бы это мой код просматривали.

Clean Code #совет #cleancode #CodeReview
Jenkins

Это автономная программа на основе Java с открытым исходным кодом, которую можно легко установить в любой операционной системе на основе Unix, Windows и macOS. Что делает его одним из лучших инструментов разработчика, так это то, что его легко настроить и настроить.

▍Что-нибудь еще?

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

▍Ключевая особенность

— С помощью Jenkins вы можете распределять работу по нескольким платформам, а также успешно создавать и тестировать свое веб-приложение.
— С помощью плагинов в Центре обновлений вы можете исправить, протестировать и проанализировать любую проблему.

▍Плюсы

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

📑 Сайт

Clean Code #инструменты
Clean Code #test #oop

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