Я был хорошим программистом JavaScript и придерживался соглашения о кодировании, зачисленные Дуглас Крокфорд. Однако JavaScript развился с тех пор, и я считаю, что соглашения об именах устарели.
Например, Крокфорд сказал:
Не используйте
_
(underbar) в качестве первого символа имени. Иногда это используется для указания конфиденциальности, но на самом деле это не обеспечивает конфиденциальность. Если конфиденциальность важна, используйте формы, которые предоставляют частные участники. Избегайте соглашений, которые демонстрируют недостаточную компетентность.
Однако JavaScript теперь позволяет создавать неперечислимые свойства. Следовательно, имеет смысл (по крайней мере, для меня - вы можете не согласиться) префикс неперечислимых свойств с нижним баром, чтобы указать, что свойство не перечислимо.
Зачем вам это делать?
- Потому что важна визуальная обратная связь (прокрутите вниз до раздела читаемости в связанной статье).
- Обратная совместимость. Вы можете отфильтровать свойства, начинающиеся с нижнего бара в цикле
for in
.
Давайте возьмем еще один пример того, что сказал Крокфорд:
Глобальные переменные должны быть во всех шапках. (JavaScript не имеет макросов или констант, поэтому нет смысла использовать все кепки для обозначения функций, которые не имеют JavaScript.)
Как я вижу, есть две проблемы со следующим соглашением:
- Большинство программистов JavaScript не записывают глобальные переменные во всех кепках. Это просто неестественно.
- Теперь JavaScript позволяет создавать свойства, недоступные для записи. Следовательно, имеет смысл использовать все шапки для таких свойств по тем же причинам, что и выше, для неперечислимых свойств.
Все, что хорошо и хорошо, но какой вопрос вы задаете? Посмотрите на функцию