Что же тогда помешало тебе посчитать количество switch в твоем рабочем проекте, и вычислить % LOC с ними относительно общего? Я отвечу за тебя - ты преувеличиваешь проблему в сотни раз. switch ОЧЕНЬ редко используемый оператор языка.
J0E, это очень сильно зависит от предметной области. В моей предметной области используется до ануса всяких признаков, кодируемых либо буквой, либо числом. И в зависимости от этого признака с данными надо что-то сделать. А разбирать эти признаки, кроме как switch'ем, особо нечем.
CyberManiac Если Вам так нужен автоматический break, переопределите case и default как Код (Text): #define case break;case #define default break;default
green Диверсия из серии #define True False; ) Когда код с таким переопределённым case попадёт кому-то на дошлифовку то-то ему радость будет от такого сюрприза )
green Тогда уж проще препроцессор к C написать, и оформлять switch в стиле pascal, то есть писать что-то в стиле: Код (Text): switch (x) { 1: что-нибудь делаем; продолжаем делать; 2..5: делаем что-то другое; 7: ничего не делаем; 8: и так далее; default: ВЫКИНУТЬ_ЭКСЕПШН! СРОЧНО!!! } Кстати, заодно можно и nobreak добавить, если он нужен. На паскалеподобные языки переходить может быть сложно и связано с кучей проблем, но препроцессор написать -- это ж вполпинка делается. И единственная проблема в том, что если чел, будучи не в курсах этой всей хрени, заглянет в сорец, то он может и не понять. С другой стороны, действия сего препроцессора выглядят обратимыми, а значит можно в emacs навернуть свой c-mode, который на экране будет показывать pascal-запись, а на диск сохранять чистый C. И никто из коллег даже ни о чём не догадается.