Регистрация  |  Вход

Вы указываете в именах АПЕКС переменных их тип?

Вы указываете в именах АПЕКС переменных их тип?

например:

Account accountObj

или

Account objAccount

каких правил наименования переменных вы придерживаетесь?

Вы указываете в именах АПЕКС переменных их тип?

например:

[code]Account accountObj[/code]

или

[code]Account objAccount[/code]

каких правил наименования переменных вы придерживаетесь?

Uncle Bob не одобрил бы. При объявлении типа переменной уже становится ясно, что это объект типа Account, так что в имени переменной это лишняя информация, которая скорее запутает чем введет ясность.

https://dzone.com/articles/naming-conventions-from-uncle-bobs-clean-code-phil

Uncle Bob не одобрил бы. При объявлении типа переменной уже становится ясно, что это объект типа Account, так что в имени переменной это лишняя информация, которая скорее запутает чем введет ясность. 

https://dzone.com/articles/naming-conventions-from-uncle-bobs-clean-code-phil

Не читал никаких умных трактатов по поводу наименования переменных, но использую просто правило как и все коллеги. Переменная должна отражать смысл содержимого а не его тип, структуру или что-то еще. Тип всегда можно найти в коде, в отличии от смысла переменной.

Не читал никаких умных трактатов по поводу наименования переменных, но использую просто правило как и все коллеги. Переменная должна отражать смысл содержимого а не его тип, структуру или что-то еще. Тип всегда можно найти в коде, в отличии от смысла переменной.

Прадва использую еще небольшой лайвхак, которые не все приветствуют (подсмотрел его в code style для goLang когда-то). В небольших блоках кода (типа цикла) в пределах 10 строк использовать однобуквенные переменные.

Вот простейший пример который содержит все выше перечисленные правила.

for (Account a : accountsFilterdByFiscalYearAndWeatherInSanFranciscoYesterday) {
console.log(a);
}

Прадва использую еще небольшой лайвхак, которые не все приветствуют (подсмотрел его в code style для goLang когда-то). В небольших блоках кода (типа цикла) в пределах 10 строк использовать однобуквенные переменные.

Вот простейший пример который содержит все выше перечисленные правила.
[code]
for (Account a : accountsFilterdByFiscalYearAndWeatherInSanFranciscoYesterday) {
   console.log(a);
}
[/code]

Dmitry Shnyrev
Прадва использую еще небольшой лайвхак ...
[/code]

Это у того же Мартина в "Clean Code" написано: чем меньше область видимости переменной, тем короче её имя может быть.

[quote="Dmitry Shnyrev"]Прадва использую еще небольшой лайвхак ... 
[/code][/quote]

Это у того же Мартина в "Clean Code" написано: чем меньше область видимости переменной, тем короче её имя может быть.

Ну я не удивлен что все самое хорошое уже давно придумано за нас
Просто иногда встречаю злостное сопротивление вроде таким простым вещам.

Ну я не удивлен что все самое хорошое уже давно придумано за нас :D 
Просто иногда встречаю злостное сопротивление вроде таким простым вещам.

Не указываем, считаем что в строго типизированных языках это избыточно и усложняет чтение и понимание кода.
И отрываем за такое руки!

https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F

Не указываем, считаем что в строго типизированных языках это избыточно и усложняет чтение и понимание кода.
И отрываем за такое руки!

https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F

Dummy
https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F

годная ссылка, теперь все понятно

[quote="Dummy"]https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F[/quote]

годная  ссылка, теперь все понятно

краткий вывод: делай как считаешь удобным, но когда речь идет о 500-строчном апекс контроллере - то указывать тип в названии каждой переменной - это избыточная информация


краткий вывод: делай как считаешь удобным, но когда речь идет о 500-строчном апекс контроллере - то указывать тип в названии каждой переменной - это избыточная информация

Den Brown
краткий вывод: делай как считаешь удобным

Наверное этот вывод верен только в исключительных случаях когда ты сам себе хозяин или являешься руководителем проекта. А вообще на проектах где работает команда надо выработать code style, в том числе и что касается naming convention и строго ему придерживаться. Возможно что большенство проголосует за включение типа переменной в само название потому что это улучшит всем жизнь. Придется делать как решили.

[quote="Den Brown"]краткий вывод: делай как считаешь удобным[/quote]
Наверное этот вывод верен только в исключительных случаях когда ты сам себе хозяин или являешься руководителем проекта. А вообще на проектах где работает команда надо выработать code style, в том числе и что касается naming convention и строго ему придерживаться. Возможно что большенство проголосует за включение  типа переменной в само название потому что это улучшит всем жизнь. Придется делать как решили. 

Den Brown
Вы указываете в именах АПЕКС переменных их тип?

например:

Account accountObj

Ну вот так делаю наприер когда надо из объекта собрать структуру, чтобы не запутаться accountObj, и accountStruc. Но при этом не просто accountStruc = new AccStructure(accountObj); а что то сложное.

ace
[quote="Den Brown"]Вы указываете в именах АПЕКС переменных их тип?

например:

[code]Account accountObj[/code]

[/quote]

Ну вот так делаю наприер когда надо из объекта собрать структуру, чтобы не запутаться accountObj, и accountStruc. Но при этом не просто accountStruc = new AccStructure(accountObj); а что то сложное.

ace
Ну вот так делаю наприер когда надо из объекта собрать структуру

Я в таком случае использую суффикс Wrapper. Типа AccountWrapper

[quote="ace"]Ну вот так делаю наприер когда надо из объекта собрать структуру[/quote]
Я в таком случае использую суффикс Wrapper. Типа AccountWrapper :)