public void ThisFunctionMakeSomethingVeryVeryCritical(int MainFunctionParameter, string AnotherFunctionParameter)
{
}
IntelliSense: Длина идентификаторов
Наверно это плохая мысль, писать подобный вопрос в этой теме не стоит, но этот вопрос касаеться IntelliSense. И так, я учусь в универе и решил поработать, так вот суть в том, что есть большая программа написанная на Delphi, в которой надо разобраться, что делать крайне трудно, т.к. идентификаторы порой представляют собой просто кучу символов. Когда же дома я писал приложения в Visual Studio, я всегда использовал, если надо, длинные идентификаторы. Хотелось бы услышать ваше мнение на этот счёт: нужно ли использовать длинные идентификаторы в Visual Studio?
Под идентификаторами подразумеваются имена методов/функций/переменных?
Собственно, все зависит от тебя самого(и тех кто будет читать твой код). К именованию идентификаторов нужно подходить с позиции баланса удобочитаемости кода и понятного именования.
Скажем,
Код:
- уже, я бы сказал, перебор, но и
Код:
public void CF(int p1, string p2)
{
}
{
}
тоже не есть гут. Одним словом, дело за разработчиком и, в общем-то, IntelliSense здесь не причем...
Видывал я программы где попадались идентификаторы типа xxx1, R_22 и т.д. Самое ужасное, что их еще приходилось сопровождать :(
Вообще любая нормальная книга по программированию советует называть идентификаторы так, чтобы взглянув на него, можно было понять, что он делает без всяких дополнительных комментариев, т.н. самодокументирующие названия.
так то оно так, то есть это просто две крайности, до появления такой вещи как IntelliSense, наш препод говорил что идентификаторы не должны превышать 8 символов, т.к. их долго набирать - звучит тупо (ну дело конечно не только в том как их долго набирать), но всё-таки это ещё один из критериев между которым приходиться балансировать. Так вот IntelliSense как раз позволяет ослабить влияние этого критерия. Другими словами, надо на всю катушку пользоваться такой штукой как IntelliSense или нет? Само собой исходить надо и стандартов кодирования принятых в фирме, и ещё некоторых факторов. Просто хочеться услышать что же это за факторы, и как оди взаимоотносяться.
Насчет "длинные идентификаторы трудно набирать" - если честно, то я бы надавал преподавателю по башке за такие высказывания :) Если ему влом читать твой код с нормальными идентификаторами - это его проблемы. Ну а если серьезно, то нормальные названия обычно попадают под критерий "8 символов +/-":
Код:
bool IsUserMatch(string UserName)
{
return UserName.CompareTo(CurrentUser) == 0;
}
{
return UserName.CompareTo(CurrentUser) == 0;
}
Безусловно, IntelliSence облегчает работу с длинными идентификаторами. Лично я использую только существительное и глагол для составления идентификатора. Например, AuthorizeUserByPassword заменить на AuthorizeUser, имя SizeOf на GetSize и т.д.. В FAQ посмотри, я кидал ссылку о правилах написания грамотного удобочитаемого кода.