if (a == true)
Всегда когда вижу в коде (на любом языке), попытки сравнения логических переменных, у меня возникают сильные сомнения в минимальном профессионализме человека, который писал код. (Неужели автор кода смог научится программировать, но ни разу не прочитал пятистраничную статейку про логические операции ?)
Сравнивать логическую переменную с константой - бессмысленно.
Сравнивать две логических переменных можно, но стилистически не красиво. То есть - если возникло желание сравнить две логических переменных, скорее всего есть некая ошибка в подходе к программированию, поскольку при правильном построении алгоритма, эти две переменные надо было бы как-то по другому обрабатывать (типа if (a&&b) или if(a&&!b).
Тем не менее, каждая новая версия Аксапты содержит все больше и больше попыток сравнения переменной с логической константой. Например в 2009ой поиск в AOD по строке "== true" дает 461 совпадение. А в 2012ой - уже 700.
Причем, что самое любопытное, такие сравнения случаются не в каких-то второстепенных отчетах или формах, которые могут на откуп аутсорсерам и контрактерам отдавать. Такие сравнения можно увидеть, например, в классах ReqCalc, inventAdjustPost, LedgerJournalCheckPost. Я уверен что эти ключевые классы пишутся полноценными штатными разработчиками, причем не в Штатах, а в MDCC.
Я вот много раз слышал, что мол при наборе разработчиков в Микрософт, проверяют не знание аксапты, а типа общую программистскую культуру и знание технологий разработки. Я не верю, что человек смог прочитать книжки про OOD и Agile Development, но так и не научился оператор if нормально писать. Возникает подозрение, что авторы этого кода не только Аксапту не знают, но и вообще программировать не умеют...
Вот я и пытаюсь понять - это типа теперь такой best practice ?
Последний раз редактировалось fed; 23.05.2012 в 11:01.
|