23.05.2012, 10:23 | #1 |
Moderator
|
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. |
|
|
За это сообщение автора поблагодарили: macklakov (1), b_nosoff (1), lev (2), S.Kuskov (2), makbeth (0), kornix (2). |
|
Похожие темы | ||||
Тема | Ответов | |||
Бага в Query update(true) | 5 | |||
Не срабатывает skipDatabaseLog(true) | 14 | |||
visible(true) и курсор | 6 | |||
recordLevelSecurity(true) | 12 |
|