Продолжаем разговор о непрерывной интеграции.
Тесты помогают держать часть кода под контролем, но покрыть тестами все приложения слишком дорого. Потому нужны какие-то более простые способы избегать ошибок.
Простой и эффективный путь — статический анализ, проверка корректности программы без ее выполнения. Для разных языков доступна разная глубина такого анализа.
Для JavaScript это JSHint, ESLint. Для TypeScript — TSLint. Уважайте линтеры, любите линтеры, используйте линтеры.
Для других языков можно найти по запросу
#удобство_разработки
Тесты помогают держать часть кода под контролем, но покрыть тестами все приложения слишком дорого. Потому нужны какие-то более простые способы избегать ошибок.
Простой и эффективный путь — статический анализ, проверка корректности программы без ее выполнения. Для разных языков доступна разная глубина такого анализа.
Для JavaScript это JSHint, ESLint. Для TypeScript — TSLint. Уважайте линтеры, любите линтеры, используйте линтеры.
Для других языков можно найти по запросу
static analysis {{language}}
.#удобство_разработки
kamyshev.code via @vote
Месяц назад я начал постить через бота статьи, которые прочёл и считаю достойными. Продолжать?
anonymous poll
Да! 💪 – 218
👍👍👍👍👍👍👍 92%
Не стоит. 🙄 – 18
👍 8%
👥 236 people voted so far. Poll closed.
anonymous poll
Да! 💪 – 218
👍👍👍👍👍👍👍 92%
Не стоит. 🙄 – 18
👍 8%
👥 236 people voted so far. Poll closed.
Ссылка
Большую часть времени разработчики читают код. А потому нужно, чтобы чтение кода вызывало как можно меньше удивления.
Если бы весь код был одинаково отформатирован, это сделало бы уже половину работы. Но руками форматировать код и расставлять запятые долго, дорого и бессмысленно.
В таком случае следует использовать средства автоматизации — Дорога к Prettier
#удобство_разработки
Большую часть времени разработчики читают код. А потому нужно, чтобы чтение кода вызывало как можно меньше удивления.
Если бы весь код был одинаково отформатирован, это сделало бы уже половину работы. Но руками форматировать код и расставлять запятые долго, дорого и бессмысленно.
В таком случае следует использовать средства автоматизации — Дорога к Prettier
#удобство_разработки
Medium
Дорога к Prettier
Как мы начали использовать Prettier и стали счастливее
Четвертым языком в книге "7 языков за 7 недель" идёт Scala.
Это прекрасный симбиоз объектно-ориентированного и функционального языка. Scala работает внутри виртуальной машины Java, может использовать код на Java. Но при этом не страдает громоздким синтаксисом и бременем обратной совместимости.
Современный язык с крутыми идеями.
Больше всего радует: паттерн-матчинг, статическая типизация, стремление к иммутабельности, акторы для параллельных вычислений.
Расстроило: имплиситы (сложно объяснить, но выглядит стрёмно), перегрузка операторов (
#языки
Это прекрасный симбиоз объектно-ориентированного и функционального языка. Scala работает внутри виртуальной машины Java, может использовать код на Java. Но при этом не страдает громоздким синтаксисом и бременем обратной совместимости.
Современный язык с крутыми идеями.
Больше всего радует: паттерн-матчинг, статическая типизация, стремление к иммутабельности, акторы для параллельных вычислений.
Расстроило: имплиситы (сложно объяснить, но выглядит стрёмно), перегрузка операторов (
human1 $ human2
, что этот код делает догадаться невозможно).#языки
Нужная книга
"Идеальный программмист" Роберта Мартина совсем не о коде. Она про то как делать свою работу хорошо. Что иногда стоит сказать заказчику "нет". О важности тестов, правильных оценках времени и борьбе с давлением.
В общем, обо всем что делает хорошего программиста хорошим. Точно нужно прочесть всем.
#идеальный_программист
"Идеальный программмист" Роберта Мартина совсем не о коде. Она про то как делать свою работу хорошо. Что иногда стоит сказать заказчику "нет". О важности тестов, правильных оценках времени и борьбе с давлением.
В общем, обо всем что делает хорошего программиста хорошим. Точно нужно прочесть всем.
#идеальный_программист
Онлайн-курс
Программисту нужна математика. Не слишком глубоко, но общие представления иметь нужно. Всем хорошо бы знать: комбинаторику, теорию вероятностей, математическую статичтику, теорию сложности, теорию графов и линейную алгебру.
На Stepik есть хороший бесплатный курс Введение в дискретную математику, который охватывает большую часть этих тем.
#математика
Программисту нужна математика. Не слишком глубоко, но общие представления иметь нужно. Всем хорошо бы знать: комбинаторику, теорию вероятностей, математическую статичтику, теорию сложности, теорию графов и линейную алгебру.
На Stepik есть хороший бесплатный курс Введение в дискретную математику, который охватывает большую часть этих тем.
#математика
Stepik: online education
Введение в дискретную математику
Курс позволит вам овладеть базовыми понятиями и принципами дискретной математики и некоторых ее смежных глав. Пройдя курс, вы сможете решать огромное количество задач, которые возникают как в жизни, так и в работе даже у нетехнических специалистов. Также…
Онлайн-курс
Разработчику важно знать алгоритмы. Да, никто в реальной работе не потребует написать быструю сортировку. Но встречается огромное количество задач, которые можно решить быстрее если знать базовые принципы построения алгоритмов.
На Coursera есть хороший курс Algorithmic Toolbox, платный. И есть русскоязычный бесплатный аналог на Stepik — Алгоритмы: теория и практика. Методы и Алгоритмы: теория и практика. Структуры данных.
#алгоритмы
Разработчику важно знать алгоритмы. Да, никто в реальной работе не потребует написать быструю сортировку. Но встречается огромное количество задач, которые можно решить быстрее если знать базовые принципы построения алгоритмов.
На Coursera есть хороший курс Algorithmic Toolbox, платный. И есть русскоязычный бесплатный аналог на Stepik — Алгоритмы: теория и практика. Методы и Алгоритмы: теория и практика. Структуры данных.
#алгоритмы