Хороший акцент на том, что при конфликте часто не нужно выбирать “нашу” или “их” версию, а нужно собрать третий вариант. Это, по-моему, самая важная мысль для новичков.
Я уже много лет конфликты в иде решаю, три панели мерджа, авторешение тривиальных конфликтов. Джет Брейнс сделали удобный инструмент.
В статье нет ничего про предотвращение конфликтов. Нужно чаще мерджить из базовой ветки. Обычно когда начали кодить и когда закончили фичу. Ну и на стендапах следить, чтобы фичи которые сильно меняют один и тот же кусок кода не делались одновременно.
То есть в развесистой Джаве которая отформатирована визуально практически так-же всё хорошо? Может проблема не в Питоне а в том, что вы его плохо знаете и не любите, а не в отступах?
8 это норм, только вот зачем иметь 2 и 8 в одном и том-же коде?
Хотя на джаве там вообще ни таб ни пробел нажимать не надо, просто там редактор ставит курсор на нужное место по переходу на следующую строку. В питоне иногда нужно, для переписывания существующего кода, но там я как раз таб жму, чтобы добавить / удалить нужное количество пробелов.
Два для Питона маловато, особенно если много длинного кода. Для остальных языков тоже не очень добавляет читабельности, но в некоторых так сложилось. А вот таб на 7 это необычно, расскажите подробнее.
У меня на табе 4 и я пробела и я руками никогда пробелы не ставлю.
Чтобы тесты не ломали старые нужно просто по другому их делать, это может быть чуть сложнее, а может быть и очень сложно. Это два разных подходя для создания тестов, которые не нужно смешивать.
Иногда такие тесты можно гонять даже на проде после релиза.
На практике намного удобнее тестировать более крупные участки логики без необходимости писать отдельный тест на каждую функцию — они всё равно покрываются в составе общего сценария.
Несколько раз поднимать мок базы, чтобы проверить чистую функцию на разные значения? Дороговато будет.
Ну и некоторые вещи просто не доступны через внешнее апи. Например метод работает со строкой, а в апи ограничение на 100 символов.
Я разговаривал со своими коллегами: у всех такое было. Мы решаем баги во сне. И, возможно, даже успешнее, чем в рабочее время.
Это не деформация, это нормально. Подсознание очень энерго эффективно, но медленно и коммуникация странная. Ответ приходит с запозданием, может во сне, может в душе.
Это даже в поговорках отражено: Утро вечера мудренее.
Модель не имеет памяти, вы каждый раз отправляете всё в неё, если контекстное окно переполнено, то что то не отправится. Вроде это должно решаться агентным подходом. Агент занимающийся бэкендом не должен знать про фронт и наоборот.
Всё лучше чем на баш. Хотя при таких обьёмах стоит глянуть на Голанг или Раст, там можно с модулями архитектурой и тестами писать и заворачивать потом в один бинарник. Питон конечно тоже можно собрать из модулей в один файл, но там есть нюансы.
Вы плохо думаете о новичках.
Я уже много лет конфликты в иде решаю, три панели мерджа, авторешение тривиальных конфликтов. Джет Брейнс сделали удобный инструмент.
В статье нет ничего про предотвращение конфликтов. Нужно чаще мерджить из базовой ветки. Обычно когда начали кодить и когда закончили фичу. Ну и на стендапах следить, чтобы фичи которые сильно меняют один и тот же кусок кода не делались одновременно.
То есть в развесистой Джаве которая отформатирована визуально практически так-же всё хорошо? Может проблема не в Питоне а в том, что вы его плохо знаете и не любите, а не в отступах?
Проект в статье не энетерпрайз. Это достаточно изолированный проект, который может написать один человек.
8 это норм, только вот зачем иметь 2 и 8 в одном и том-же коде?
Хотя на джаве там вообще ни таб ни пробел нажимать не надо, просто там редактор ставит курсор на нужное место по переходу на следующую строку. В питоне иногда нужно, для переписывания существующего кода, но там я как раз таб жму, чтобы добавить / удалить нужное количество пробелов.
Два для Питона маловато, особенно если много длинного кода. Для остальных языков тоже не очень добавляет читабельности, но в некоторых так сложилось. А вот таб на 7 это необычно, расскажите подробнее.
У меня на табе 4 и я пробела и я руками никогда пробелы не ставлю.
Вы один или в команде работаете?
Так вы курс по джаве не продадите.
А мужики то и не знают.
А вы джаву одной строкой пишете? Или по той же логике, что и в Питон форматирует код?
Чтобы тесты не ломали старые нужно просто по другому их делать, это может быть чуть сложнее, а может быть и очень сложно. Это два разных подходя для создания тестов, которые не нужно смешивать.
Иногда такие тесты можно гонять даже на проде после релиза.
Несколько раз поднимать мок базы, чтобы проверить чистую функцию на разные значения? Дороговато будет.
Ну и некоторые вещи просто не доступны через внешнее апи. Например метод работает со строкой, а в апи ограничение на 100 символов.
Тема скорость выполнения против чистых тестов раскрыта однобоко. Иногда независимостью стоит пожертвовать для скорости.
Порядок запуска тестов лучше объяснять через параллельный запуск.
Спасибо за статью, было интересно.
Было бы здорово если добавить ссылки на все части а каждую статью. Из 2 в 3 часть сложно переходить.
Линтеры уже завезли? Такие вещи решаются программно, просто запретом на CI на такой код.
Это не деформация, это нормально. Подсознание очень энерго эффективно, но медленно и коммуникация странная. Ответ приходит с запозданием, может во сне, может в душе.
Это даже в поговорках отражено: Утро вечера мудренее.
Так это и есть главный триггер разделения. Если есть две фичи, то скорее всего будет три файла, фича1 фича2 и утилс для этих двух фич.
Ну если молодой джун, а предыдущий синьёр, то это нормально.
Модель не имеет памяти, вы каждый раз отправляете всё в неё, если контекстное окно переполнено, то что то не отправится. Вроде это должно решаться агентным подходом. Агент занимающийся бэкендом не должен знать про фронт и наоборот.
А потом открываешь с 15 дюймового ноутбука и радуешься.
Всё лучше чем на баш. Хотя при таких обьёмах стоит глянуть на Голанг или Раст, там можно с модулями архитектурой и тестами писать и заворачивать потом в один бинарник. Питон конечно тоже можно собрать из модулей в один файл, но там есть нюансы.