Предупреждения о подозрительно похожих именах
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.09.21 10:58
Оценка:
В каких-нибудь компиляторах реализованы предупреждения о возможных ошибках в написании похожих имен?

Классический пример — "#ifdef MyMacro". Если вместо "MyMacro" будет "myMacro" или "Mymacro" — оно будет тихо пропущено, как и при любых других ошибках в имени (определено MYMACRO, проверяется MYMACR), и замаешься искать такие ошибки. У себя я уже давно использую только #if, никаких #ifdef/#ifndef.

Такая же фигня с перегруженными функциями, шаблонной магией и подобными вещами.

Так же визуально трудно отличить, например, "l" от "1". Такой ляп, конечно, допустить нелегко, но таки можно.

А если компилятор поддерживает Unicode, то и вовсе открывается широчайший простор для косяков — многие буквы с разными кодами совершенно неотличимы визуально.

Сейчас прогнал с /Wall свежий VC++ 19.29 из последнего обновления VS 2019 — его такие сочетания совершенно не напрягают.
identifier similar case typo warning
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.