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