kamyshev.code – Telegram
kamyshev.code
1.77K subscribers
40 photos
565 links
Архитектура, код, софт-скиллы и всё остальное. Вопросы, пожелания, комментарии — @igorkamyshev

https://kamyshev.me
Download Telegram
​​Бизнес портит все!

CI — это долго и дорого. Часто бизнес в компании против таких трат. Что делать?

Стоит объяснить, что непрерывная интерграция экономит деньги. После однократной настройки, разработчики больше не тратят время на выполнение рутинный процедур. А время разработчиков стоит больше, чем любой CI-сервис.

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

CI — не серебряная пуля, но очень важен.

#удобство_разработки
​​CI выполняет задачи, которые должны увеличить уверенность в том, что приложение работает правильно.

Самое очевидное, запускать там тесты. В таком случае код, из-за которого падают тесты, не сможет попасть в мастер-ветку.

Но ответственность писать тесты все ещё лежит на программистах.

#удобство_разработки
​​Закончил изчуать Prolog. Это самый странный язык программирования, что я встречал.

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

Программирование на Prolog сконцентрированно на целях, а не на путях их достижения.

#языки
​​Продолжаем разговор о непрерывной интеграции.

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

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

Для JavaScript это JSHint, ESLint. Для TypeScript — TSLint. Уважайте линтеры, любите линтеры, используйте линтеры.

Для других языков можно найти по запросу static analysis {{language}}.

#удобство_разработки
Месяц назад я начал постить через бота статьи, которые прочёл и считаю достойными. Продолжать?
anonymous poll

Да! 💪 – 218
👍👍👍👍👍👍👍 92%

Не стоит. 🙄 – 18
👍 8%

👥 236 people voted so far. Poll closed.
Ссылка

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

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

В таком случае следует использовать средства автоматизации — Дорога к Prettier

#удобство_разработки
​​Четвертым языком в книге "7 языков за 7 недель" идёт Scala.

Это прекрасный симбиоз объектно-ориентированного и функционального языка. Scala работает внутри виртуальной машины Java, может использовать код на Java. Но при этом не страдает громоздким синтаксисом и бременем обратной совместимости.

Современный язык с крутыми идеями.

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

Расстроило: имплиситы (сложно объяснить, но выглядит стрёмно), перегрузка операторов (human1 $ human2, что этот код делает догадаться невозможно).

#языки
​​Нужная книга

"Идеальный программмист" Роберта Мартина совсем не о коде. Она про то как делать свою работу хорошо. Что иногда стоит сказать заказчику "нет". О важности тестов, правильных оценках времени и борьбе с давлением.

В общем, обо всем что делает хорошего программиста хорошим. Точно нужно прочесть всем.

#идеальный_программист