Rules and Standards
Mar. 5th, 2008 02:11 pmУ меня под рукой документация к API трех больших и весьма навороченных CAD систем. Любой подобный документ увлекательнейшее чтиво, но мануал к одному продукту выделяется особо. Да и сама система соответствует, в процессе программирования под ней есть что-то эзотерическое. Только для CATIA я не смог самостоятельно придумать, собрать и запустить демо, лишь на основе мануалов и примеров, понадобилась непосредственная помощь гуру. Доки поражают своей монументальностью и неочевидностью одновременно. Выдержки из тамошних "C++ Rules"
- Do Not Use namespace Statements (вместо этого предлагается использовать трехбуквенные префиксы для подмножеств интерфейсов, типа как у них)
- Do not use threads
- Do not use Templates
- Do Not Use Multiple Inheritance
- Do Not Use Virtual Inheritance
Последние три пункта не обусловлены какими-то ограничениями в дизайне предоставляемых библиотек, просто так не рекомедуют делать, ибо это пока плохо вообще и не совсем портабельно. Документ 2000 года и с тех пор не менялся. Хорошо что суровость рекомендаций компенсируется необязательностью их выполнения.
p.s. да, чуть не забыл: конечно использовать венгерскую нотацию, куда ж без нее!
- Do Not Use namespace Statements (вместо этого предлагается использовать трехбуквенные префиксы для подмножеств интерфейсов, типа как у них)
- Do not use threads
- Do not use Templates
- Do Not Use Multiple Inheritance
- Do Not Use Virtual Inheritance
Последние три пункта не обусловлены какими-то ограничениями в дизайне предоставляемых библиотек, просто так не рекомедуют делать, ибо это пока плохо вообще и не совсем портабельно. Документ 2000 года и с тех пор не менялся. Хорошо что суровость рекомендаций компенсируется необязательностью их выполнения.
p.s. да, чуть не забыл: конечно использовать венгерскую нотацию, куда ж без нее!