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

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
Рост установок в 3 квартале 2020

Количество загрузок приложений в мире достигло 36.4 млрд., это рост на 22.8% по сравнению с аналогичным периодом прошлого года. Установки в App Store выросли на 2.5% до 8.2 миллиарда, в то время как Google Play вырос на 30.3% до 28.2 миллиарда.

Компания Sensor Tower опубликовала отчет Store Intelligence Data Digest за третий квартал 2020 года.

Подробнее

#programming #news
Тест на клинкодера
#programming #clean_code
Упрощение поиска проблемных частей кода в Python

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

Программисты, работающие с приложением Яндекс.Такси, разобрались в этом. В статье они предлагают несколько решений данной проблемы.

Читать статью

#programming #clean_code
О важности абстракции

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

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

#programming #clean_code
С прозрачностью скриптов сборки к идеальным зависимостям

Очень комплексная и подробная статья с описанием принципов построения и создания скриптов сборки на примере Maven и Gradle.

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

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

#programming #clean_code
If-else, пора забыть об этом

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

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

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

#programming #clean_code
Sider - как не наступать на те же грабли

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

Sider позволяет обрабатывать текущие проблемы в коде более изящно, нежели с этим справляются линтеры с помощью CI, однако прочувствовать это можно лишь на личном опыте.

Github

#clean_code #tools
Какие языки хотят изучать разработчики

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

Так вот, команда Specops использовала инструмент Keyword Explorer от Ahrefs для анализа поисковых запросов в Google и Youtube на темы разных языков программирования. И что же, на 1-ом месте бессменный Python, а вот на 2-ом...

Подробнее

#programming #programming_languages
Насколько ваши предпочтения эффективны.

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

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

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

#programming #self_improvement
Тренировка на циклы.
#programming #training #cycles
Яндекс масштабно обновил поиск: коротко о главном
 
Ребята из поиска Яндекса рассказали о своём самом важном изменении за десять лет. Они научили и запустили свою нейросеть-трансформер YATI. Трансформеры по определению очень прожорливые, поэтому её подключение — отдельный вызов для разрабов и инженеров.
 
По факту, теперь мы имеем поиск Яндекса, который не просто (хотя и качественно) ищет и сопоставляет ключевые слова, но и глубже анализирует смысл запроса и релевантность выдачи. Проще говоря, он как будто бы лучше понимает, о чём его спрашивают. И ещё умеет анализировать порядок слов и контекст запроса, читает огромные тексты, а не только бегает по хедам, обучен «механизму внимания», то есть умеет определять и выделять важные фрагменты в любом массиве.
 
Подробнее ребята рассказали в своем блоге на Хабре
 
#programming #clean_code
Чтобы быть крутым разработчиком, нужно создавать крутые проекты!

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

Много ли из вас использует Trello или Asana, а может, и вовсе Jira? Думаете, у вас не получится создать что-то подобное? А что если вы бы хотели пользоваться лично разработанным плеером? Это круто! А мы в этом поможем списком интересных идей...

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

#programming #clean_code
Travis CI

С Travis CI вы можете с уверенностью тестировать и выпускать свои приложения. Его достаточно легко интегрировать с GitHub, не говоря уже о том, что процесс наката приложения происходит сразу же после прохождения всех тестов.

Поддерживаемые языки:
Javascript и Node.js
Ruby
PHP
Python

Подходит как для небольших команд разработчиков, так и для крупных подразделений. Ну, Travis, не подведи!

GitHub

#tools #ci
Пора сделать инверсию нуля.

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

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

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

#programming #self_improvement
А вы точно знаете все структуры данных?

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

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

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

#programming #data_structures
Правило звездочки

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

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

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

#programming #clean_code
Зомби-код: он жив или мертв

Насколько часто встречаются, особенно open-source проекты, в которых каждая функция предварена комментарием. А теперь задумаемся: будем ли мы править комментарии, если придется в сжатые сроки добавлять новый функционал.

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

Youtube

#programming #clean_code
Junior vs Senior

Привет клинкодерам! Всех нас очень волнует вопрос написания чистого, легко поддерживаемого кода, от одно вида которого поднимается настроение.

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

Youtube

#programing #clean_code
Как начать использовать лямбда-выражения в Java.

Привет клинкодерам! На самом деле, Java здесь только для примера. Функциональное программирование предлагает великолепные возможности по улучшению качества и выразительности кода.

Компактное встраивание анонимных методов поможет поддержать поток вычислений без вызова методов, которые описаны в других участках кода. Было тяжело знакомиться с концепцией лямбда-выражений, но, однажды разобравшись, понял, что код стал на порядок чище! Знакомимся...

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

#clean_code #programming