06:06
Делать хорошо надо сразу
Пет-проектов у меня немного. Тем не менее, кое-что есть. И вот какой эффект я у себя заметил.
Как известно, одно из ключевых средств при разработке ПО -- это система контроля версий. Обычно -- гит. Новый проект лучше сразу начинать в репозитории. Тем не менее, я этого не делаю. Какое-то время файлы проекта болтаются без надзора. А почему?
Потому что я знаю, что когда я залью на гитхаб, там будет видна вся история коммитов, даже которые я делал ещё локально. Ну и я не хочу, чтобы видели говнокод. Он там всё равно будет, но хотя бы получше. Я сейчас сначала поэкспериментирую, потом приведу код в минимально удовлетворительное состояние, а потом сделаю первый коммит.
Полагаю, что это порочная практика. Говнокод надо не писать вообще, тогда и коммитить можно будет сразу. А работать без системы контроля версий опасно, хотя конечно в зарождающемся проекте об'ём кода такой маленький, что всё легко не только сломать, но и починить.
Но... непонятно, где тогда экспериментировать с новыми средствами. Делать отдельный репозиторий для экспериментов и никому не показывать?
Как известно, одно из ключевых средств при разработке ПО -- это система контроля версий. Обычно -- гит. Новый проект лучше сразу начинать в репозитории. Тем не менее, я этого не делаю. Какое-то время файлы проекта болтаются без надзора. А почему?
Потому что я знаю, что когда я залью на гитхаб, там будет видна вся история коммитов, даже которые я делал ещё локально. Ну и я не хочу, чтобы видели говнокод. Он там всё равно будет, но хотя бы получше. Я сейчас сначала поэкспериментирую, потом приведу код в минимально удовлетворительное состояние, а потом сделаю первый коммит.
Полагаю, что это порочная практика. Говнокод надо не писать вообще, тогда и коммитить можно будет сразу. А работать без системы контроля версий опасно, хотя конечно в зарождающемся проекте об'ём кода такой маленький, что всё легко не только сломать, но и починить.
Но... непонятно, где тогда экспериментировать с новыми средствами. Делать отдельный репозиторий для экспериментов и никому не показывать?
13.10.2024 в 07:05
13.10.2024 в 08:40
Учти, что при сквоше у тебя получится коммит с Author Date самого первого коммита в истории, т.е. все увидят, когда ты начал проект. Наверняка это можно обойти; как минимум, можно сделать git commit --allow-empty, потом с помощью того же интерактивного ребейза переставить коммиты местами и сквошнуть ещё раз.
-- Minoru
13.10.2024 в 12:25
Если работаете в команде, то не надо так. Чем раньше получишь фидбек - тем лучше.
Это не только к коду относится, кстати, но и к написанию документации. Да и к другим областям применимо.
13.10.2024 в 13:26
Гость, Minoru, да, squash должен помочь. Я ведь знал про эту штуку, но никогда ей не пользовался. Спасибо!
Xersareeth, йопт, т.е. это целая категория таких лиц. Понял, в команде так не делаю.
13.10.2024 в 14:47
- или просто merge этого в мастер и тогда все увидят коммиты, но будет видно, что это пилилось в сторонке.
- или `merge --squash`, тогда в мастере будет только один коммит.
- или `rebase --interactive` этого всего на master и перепилить историю коммитов как больше нравится. и уже потом запушить по красоте.
13.10.2024 в 14:50