Помощь с придумыванием имён?

Вопрос может показаться нелепым или даже глупым, но он был всегда одним из сложнейших для меня — как назвать переменные. Тут не идёт речь о сводах общепринятых правил, наподобие венгерской нотации, camelCase и т.п. Здесь я хочу спросить именно о смысловом сочетании, заключенном в имени переменной.

Итак, у меня есть модули. Каждый модуль имеет свой собственный интерфейс, но в то же время может обращаться к интерфейсам других модулей; имеет свои собственные переменные, экспортируемые в систему, но в то же время может обращаться к переменным других модулей; имеет свои собственные настройки (совокупность изменяемых параметров, влияющих на работу), но может обращаться к настройкам других модулей и т.д.

Так вот, для описания устройства модуля, его внешних связей, я хочу придумать лаконичный и понятный формат. Уже есть такой вариант, но я в нем еще сомневаюсь:
{
    "interface":{},
    "variables":{},
    "settings":{},
    "getInterfaces":[],
    "getVariables":[],
    "getSettings":[]
}


Всё, что начинается с get, отвечает за получение данных от других модулей, остальное — за поставку данных другим модулям.

Прав ли я в таком именовании? Подходит ли смысл, влаживаемый в имена свойств, поставленной задаче? Может быть у вас есть собственное, гораздо лучшее предложение, проверенное временем?
  • Вопрос задан
  • 2716 просмотров
Пригласить эксперта
Ответы на вопрос 4
bobermaniac
@bobermaniac
Что бы не говорили злые языки, ни одно из правил именования переменных не является самоочевидным.

Например, во многих языках аксессоры принято именовать, начиная с префикса get. Это не является верным для Objective C, в котором с get начинаются только те методы, которые получают значение внутреннего буфера во внешний, заранее размещенный в памяти.

В Java любой метод, начинающийся с Get скорее всего является простым аксессором. В C# если метод начинается с Get — это скорее всего сложный аксессор с изменением состояния или побочными эффектами.

Если вы делаете API — просто задокументируйте его. Хорошая документация стократ лучше, чем любое, самое «очевидное» решение по именованию.
Ответ написан
Комментировать
@Chii
Если это очень серьёзный проект, то напишите диздок.
Если это один из юольшого количества проектов, то напишите гайдлайн.
Там и придумайте, как именовать переменные. Главное — чтобы они во всём вашем коде были одинаково номенклатуризированы. Второе по главности — чтобы понимали те, кто будут читать код.
Ответ написан
Комментировать
Iliapan
@Iliapan
Почитайте правила наименования переменных в линуксовом ядре, там хорошо написано.
Ответ написан
Комментировать
Singerofthefall
@Singerofthefall
Если есть некоторые однотипные данные, для которых нужно указать принадлежность, я обычно использую одинаковые «имена», с разными префиксами. К примеру в вашем случае вы можете использовать префикс self для собственных данных, и, например, ext (от external) для заимствованных. Тогда получится что-то вроде
selfInterface
selfVariables
selfSettings

extInterface
extVariables
extSettings


То есть, в принципе, близко к вашему варианту. Глаголы вроде Get или Set больше подходят для именования функций, если использовать их в названии данных, это может сбивать с толку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы