Тесты никак не связаны с изменением требований. Собственно если меняются требования, то надо идти и менять тесты. А если тесты нормально не меняются, то, как уже было сказано, это повод задуматься, нужно ли все это пихать в ту же самую функцию.
Почему-то в рабочих проектах происходит именно так, да. А вот в собственных у меня уже несколько раз случалась следующая красота: Некоторая логика несколько раз используется в разных местах. По идее всю эту логику можно было бы инкапсулировать в отдельный класс. Причем простой и наивный класс. И вот в один день я сажусь этот класс писать. Это ему знать не нужно, это тоже. И вообще, вот у меня тесты, как я буду его использовать.. И вдруг он уже готов. 100 строк тестового кода, который полностью проверяет поведение класса. Сам класс от силы строчек 30. Прохожусь по основному коду и дублирую существующую логику с использованием нового класса и проверками, что результат одинаковый. Нахожу ошибки в старой логике, которые с новым классом оказались на поверхности. Выпиливаю старый код. 100 строк удалено, 30 новых вставлено.
В моем конкретном случае копать надо глубже. Дело не в конкретных инструментах продуктивности, а в мотивации делать что-то такое, для чего бы эти инструменты были нужны. А когда смотришь на туду и думаешь "ну да, это все наверно надо сделать, но ничего из этого мне делать совсем не хочется", никакие помодоро не помогут.
Во-первых, это приложения для мака, которого у меня нет. Во-вторых у меня нет приложения телеграм, у меня он в емаксе в виде пакета.
Я знаю, что когда я хочу прокрастинировать, то прекрасно умею обходить любые блокировки.
На самом деле моя главная проблема с помодоро заключается именно в том, что я знаю, что когда таймер активен, мне нельзя отвлекаться. Поэтому начинается "ну я еще пока не готов так сильно этим заниматься, поэтому таймер запускать не буду".
Постоянно вижу рекомендации "убрать телефон", но вот именно телефон меня не отвлекает. Большая часть отвлечения это телеграмм (не на телефоне). Вот как с этим бороться?
В англоязычной странице этого конкретного человека действительно значится "she was responsible for drilling a hole in the hull of Soyuz MS-09 during the expedition" со ссылкой на статью от 12 августа.
Купил себе "обычный" блокнот Traveller's notebook (passport size), в котором можно просто менять блоки. Блоки научился делать сам (полчаса возни с бумагой, ножом и скрепками, чтобы получить блокнот, которого мне хватит на пару месяцев).
Записи у меня в блокноте живут не больше 2 суток — на следующий день я переношу их в орг-файл, а в блокноте все зачеркиваю. Не автоматически естессно, это повторный процесс перечитывания, переписывания и переобдумывания.
У меня на самом деле примерно так и есть, с одним небольшим отличием — исходя из прошлых месяцев я сразу ожидаю определенные суммы трат. Соответственно из "столько потрачу, столько отложу на одежду/отпуск/бытовую технику" и "надо вернуть баланс на карточке обратно до 20 тысяч свободных денег" сразу получается сумма, которая пойдет в сбережения.
И да, раз в день вечером вбить в hledger пару-тройку чисел из чеков. Плюс-минус.
Я начал вести учет расходов в районе нового года с 2017 на 2018. Три месяца писал в google spreadsheets, а в марте поехал в Японию и столкнулся с вопросом "как же мне разные валюты друг с другом сравнивать". И там, в японской гостинице, наваял нечто на лиспе. Показал людям в телеграм чатике, а в ответ услышал "так есть же готовое — hledger". После этого я взял hledger, перенес в него свои записи из гуглтаблицы и… все. Так им и пользуюсь. Для всякого анализа и прочих сводных данных у меня пачка готовых запросов, которые засунуты в емаксовый org-документ (и я могу сделать его экспорт например в pdf).
Пример запроса
Конечно, такой подход никак не удается сдружить с "вводить с телефона", да и расходы супруги я не учитываю, только свои. Но меня это все устраивает.
Из автоматизации сделал только разделение на категории продуктов, а чуть позже еще и полуавтоматический анализ почты (почта у меня выкачивается через mbsync, а питоновские скрипты умеют туда залезть).
Некоторое время назад мне пришлось разбираться с одной проблемой в нынешнем проекте. Под подозрение попала загадочная перетасовка битов перед вычислением результата. Коммит, которым эта строчка была добавлена, добавлял только эту одну строчку. Описание коммита — "исправить расположение битов". У меня ушла пара дней сопоставления документации на ECC и на наш контроллер, чтобы убедиться, что эти перестановки (плюс еще последующие 3 строки) действительно нужны.
После этого я сделал коммит, который добавляет к этой строке комментарий с описанием того, почему именно эти биты должны быть переставлены именно так (как пришло из контроллена и как нужно передать в следующую функцию), а комментарий к коммиту содержал вообще около 40 строк с полной табличкой соответствия бит.
Комментарии нужны не столько "что тут происходит", а "зачем это тут вообще делать".
Но ведь это же лучше, чем работа.
Тесты никак не связаны с изменением требований. Собственно если меняются требования, то надо идти и менять тесты. А если тесты нормально не меняются, то, как уже было сказано, это повод задуматься, нужно ли все это пихать в ту же самую функцию.
Ровно по той причине, что в данный момент по чистой случайности две ветки оказались одинаковыми. В будущем они будут различаться.
Почему-то в рабочих проектах происходит именно так, да. А вот в собственных у меня уже несколько раз случалась следующая красота: Некоторая логика несколько раз используется в разных местах. По идее всю эту логику можно было бы инкапсулировать в отдельный класс. Причем простой и наивный класс. И вот в один день я сажусь этот класс писать. Это ему знать не нужно, это тоже. И вообще, вот у меня тесты, как я буду его использовать.. И вдруг он уже готов. 100 строк тестового кода, который полностью проверяет поведение класса. Сам класс от силы строчек 30. Прохожусь по основному коду и дублирую существующую логику с использованием нового класса и проверками, что результат одинаковый. Нахожу ошибки в старой логике, которые с новым классом оказались на поверхности. Выпиливаю старый код. 100 строк удалено, 30 новых вставлено.
Речь даже не о работе, а о личных проектах.
В моем конкретном случае копать надо глубже. Дело не в конкретных инструментах продуктивности, а в мотивации делать что-то такое, для чего бы эти инструменты были нужны. А когда смотришь на туду и думаешь "ну да, это все наверно надо сделать, но ничего из этого мне делать совсем не хочется", никакие помодоро не помогут.
Во-первых, это приложения для мака, которого у меня нет. Во-вторых у меня нет приложения телеграм, у меня он в емаксе в виде пакета.
Я знаю, что когда я хочу прокрастинировать, то прекрасно умею обходить любые блокировки.
На самом деле моя главная проблема с помодоро заключается именно в том, что я знаю, что когда таймер активен, мне нельзя отвлекаться. Поэтому начинается "ну я еще пока не готов так сильно этим заниматься, поэтому таймер запускать не буду".
Постоянно вижу рекомендации "убрать телефон", но вот именно телефон меня не отвлекает. Большая часть отвлечения это телеграмм (не на телефоне). Вот как с этим бороться?
Я думаю, что есть разница между "раз в год" и "раз в 5 лет".
Не вижу варианта "реже, чем раз в 2-3 года".
В англоязычной странице этого конкретного человека действительно значится "she was responsible for drilling a hole in the hull of Soyuz MS-09 during the expedition" со ссылкой на статью от 12 августа.
Купил себе "обычный" блокнот Traveller's notebook (passport size), в котором можно просто менять блоки. Блоки научился делать сам (полчаса возни с бумагой, ножом и скрепками, чтобы получить блокнот, которого мне хватит на пару месяцев).
Записи у меня в блокноте живут не больше 2 суток — на следующий день я переношу их в орг-файл, а в блокноте все зачеркиваю. Не автоматически естессно, это повторный процесс перечитывания, переписывания и переобдумывания.
Там внутри этих файлов можно еще что угодно дополнительное писать, в том числе комментарии "что это вообще такое за пароль".
У меня на самом деле примерно так и есть, с одним небольшим отличием — исходя из прошлых месяцев я сразу ожидаю определенные суммы трат. Соответственно из "столько потрачу, столько отложу на одежду/отпуск/бытовую технику" и "надо вернуть баланс на карточке обратно до 20 тысяч свободных денег" сразу получается сумма, которая пойдет в сбережения.
И да, раз в день вечером вбить в hledger пару-тройку чисел из чеков. Плюс-минус.
Упомянутый в статье Sleep As Android работает очень неплохо.
Я пробовал одно время учитывать также и то, что она зарабатывает/тратит, но в итоге мне надоело ее по этому поводу дергать.
Я начал вести учет расходов в районе нового года с 2017 на 2018. Три месяца писал в google spreadsheets, а в марте поехал в Японию и столкнулся с вопросом "как же мне разные валюты друг с другом сравнивать". И там, в японской гостинице, наваял нечто на лиспе. Показал людям в телеграм чатике, а в ответ услышал "так есть же готовое — hledger". После этого я взял hledger, перенес в него свои записи из гуглтаблицы и… все. Так им и пользуюсь. Для всякого анализа и прочих сводных данных у меня пачка готовых запросов, которые засунуты в емаксовый org-документ (и я могу сделать его экспорт например в pdf).
Конечно, такой подход никак не удается сдружить с "вводить с телефона", да и расходы супруги я не учитываю, только свои. Но меня это все устраивает.
Из автоматизации сделал только разделение на категории продуктов, а чуть позже еще и полуавтоматический анализ почты (почта у меня выкачивается через mbsync, а питоновские скрипты умеют туда залезть).
Когда мне выдало вот это, я несколько поколебался, но решил, что это реальный код. И был прав.
Мой результат — 33/50.
Некоторое время назад мне пришлось разбираться с одной проблемой в нынешнем проекте. Под подозрение попала загадочная перетасовка битов перед вычислением результата. Коммит, которым эта строчка была добавлена, добавлял только эту одну строчку. Описание коммита — "исправить расположение битов". У меня ушла пара дней сопоставления документации на ECC и на наш контроллер, чтобы убедиться, что эти перестановки (плюс еще последующие 3 строки) действительно нужны.
После этого я сделал коммит, который добавляет к этой строке комментарий с описанием того, почему именно эти биты должны быть переставлены именно так (как пришло из контроллена и как нужно передать в следующую функцию), а комментарий к коммиту содержал вообще около 40 строк с полной табличкой соответствия бит.
Комментарии нужны не столько "что тут происходит", а "зачем это тут вообще делать".
Мне в принципе неудобно на телефоне набирать что-либо. При этом на десктопе все хранится в орге в дропбоксе в удобном виде.
Я пробовал разные варианты орг-клиентов для телефона, но все равно не то. Уж если текст, то десятипальцевая печать и прочие прелести...