Я читаю McConell Code Complete , и он обсуждает использование логических переменных для документирования вашего кода. Например, вместо:
if((elementIndex < 0) || (MAX_ELEMENTS < elementIndex) ||
(elementIndex == lastElementIndex)){
...
}
Он предлагает:
finished = ((elementIndex < 0) || (MAX_ELEMENTS < elementIndex));
repeatedEntry = (elementIndex == lastElementIndex);
if(finished || repeatedEntry){
...
}
Это кажется мне логичным, хорошей практикой и самодокументированием. Тем не менее, я не решаюсь использовать эту технику регулярно, так как я почти никогда с ней не сталкивался; и, возможно, это будет сбивать с толку просто из-за редкости. Тем не менее, мой опыт еще не очень обширен, поэтому мне интересно услышать мнение программистов об этой технике, и мне было бы интересно узнать, использует ли кто-нибудь эту технику регулярно или часто видел ее при чтении кода. Является ли это целесообразным соглашением / стилем / техникой для принятия? Будут ли другие программисты понимать и ценить это или считать это странным?