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