Vlad-Shcherbina / icfpc2014-tbd

fourth place
Do What The F*ck You Want To Public License
4 stars 0 forks source link

Система scratch-production #27

Open Vlad-Shcherbina opened 10 years ago

Vlad-Shcherbina commented 10 years ago

В целом продолжает показывать себя отлично. Мелкие направления для улучшений:

Была некоторая стеснительность по поводу переноса штук в продакшон; в целом напрасная - я бы не сказал что код в продакшоне страдал от сильно плохого качества. Было, напротив, небольшое запаздывание (например, задокументированный даже! транслятор гостона точно должен был быть в продакшоне, но это мелочи потому что перенести хороший код не сложно. Наверное надо немножко формализовать и задокументировать сложившиеся практики, главным образом для новых участников.

Зависимости scratch-scrath. Их было немного, я бы предпочёл чтобы было ещё меньше. Чем зависеть от скратча, лучше допилить зависимость и поспособствовать её переносу в продакшон.

Зависимость подакшона от скратча. Была в одном месте, и легитимная (чтобы спека могла инстациировать AI реализованный в скратче). Возможно для душевного спокойствия стоит зафиксировать определённый механизм или стиль реализации зависимостей такого типа.

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

Мелочь: Я пару раз отлаживал мистические проблемы, связанные с тем что модуль уже переехал, но старый pyc-файл по-прежнему подхватывался из прежнего каталога. В итоге просто написал команду которая удалает все pyc-файлы. Возможно, решается просто глобально.

Мелочь: коллизий имён модулей вроде не было, но на всякий случай их можно формально запретить.

Vlad-Shcherbina commented 10 years ago

А, да. Были ещё какие-то бранчи и разговоры о бранчах. Я вообще не понял зачем. Есть валидные причины?

Я один раз создал бранч в исступлении эмоций, когда реализовал механизм спеков, а при коммите обнаружил что Дима Беляев решает ту же проблему. Спасибо кстати что смёрджил.

manpages commented 10 years ago

Влад, я вёл разработку в бранче в первый день, потом влил код в мастер с ребейзом и грохнул бранч (абсолютно позапаре, поскольку сел пилить refc в первый час контеста забыв про то как оно делается у нас). Стдлибу для КП тоже начал пилить в бранче, поскольку пилил её в чужом скратчпаде и хотел фиксированной версии КП.

fj128 commented 10 years ago

Модули в продакшене абсолютно точно нужны. У нас там сейчас 42 файла, это п-ц и дико тормозит процесс разработки когда невыспавшийся.

Я думаю надобно перевести наш текущий код на модули и relative imports, это научит нас как это делать.