Re[2]: Custom-изация синтаксиса ЯП
От: samius Япония http://sams-tricks.blogspot.com
Дата: 07.12.09 11:13
Оценка: 1 (1) +2
Здравствуйте, wat3rs, Вы писали:

W>В идеале кастомный синтаксис должен быть чем-то типа скина. Чтоб его можно было настроить так же , как и цветовую схему в редакторе. Однако, если ведётся командная разработка, где часто надо смотреть в чужой код (и объяснять, почему он не компилится), то такая кастомизация будет вызывать проблемы (да и чужая схема подсветки может сильно раздражать).


W>Безусловно (пока это не стало мейнстримом ) если программист пользуется своим синтаксисом, то ему все равно надо знать стандартный, хотя бы на уровне чтения. Иначе таки придётся с собой на флешке носить std2john и john2std. Так же, как если вы дома настроили под себя какой-либо инструмент (например поменяли кей-биндинги), то чтобы работать с ним в другом месте — нужно или помнить стандартные, или носить свои конфиги.


W>Интеграция с VCS таки действительно может стать проблемой, но думаю, это решаемо.


Мне кажется, что проблема здесь — именно разрешение кастомизации синтаксиса. Почему это проблема, а не решение — да просто потому что она добавится к списку уже существующих проблем, которые требуется решать в командных разработках:
* чужая схема подсветки — (меньшая из проблем, но уже помянутая)
* различные взгляды на форматирование кода (не самая большая проблема)
* различные предпочтения при композиции кода и выборе абстракций (уже очень большая проблема, т.к. там где одному нужна гибкость для тестирования, второй предпочтет улучшение читаемости с затруднением тестирования)
* различные парадигменные подходы (если я начну писать на чистом ФП в чисто императивной команде, это будет фактически приравниваться к саботажу)

Добавляем сюда кастомизацию синтаксиса и вместо команды получаем набор индивидуалов, пишуших почти на разных языках и не способных объясняться друг с другом.

Как же решаются вышеперечисленные проблемы (кроме подсветки синтаксиса) в команде? Соглашением! Если что-то кому-то не нравится, то он идет в баню, потому как есть соглашения (форматирования кода, метрики связности, покрытие тестами, и прочая кухня), направленные на унификацию хотя бы в пределах команды.

Если бы мне попался язык с возможностью кастомизации синтаксиса, я бы первым делом составил командное соглашение об использовании единого синтаксиса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.