1.2, xaka (??), 08:10, 01/07/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Приятно написано и самое главное указаны как +, так и - того или иного выбора. Google молодцы. Кто-то должен наводить порядок в хаосе :)
| |
1.3, Аноним (-), 08:58, 01/07/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Исключения запрещены к использованию, соответственно нельзя делать инициализацию в конструкторах - в топку такой style guide!
| |
|
2.4, Анонимно (?), 10:37, 01/07/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Исключения запрещены к использованию, соответственно нельзя делать инициализацию в конструкторах - в
>топку такой style guide!
Вообще-то new тоже исключение кидает, если память выделить не может :-) Так что без базовой обработки исключений не обойтись, тогда придется запрещать какими бы то ни было стандартными функциями пользоваться.
Я так понимаю - тут просто написано, что использование собственных обработок построенных на throw-catch использовать нельзя.
| |
|
|
4.13, Анонимно (?), 06:10, 02/07/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Запрещено использование exception, в топку однозначно.
А я только за запрет использования. Код вообще неперевариваймых с этими exception'ами.
Особенно меня в свое время выбило - когда я нашел что boost::thread внутри себя использует молчаливый catch(...) и поток тупо закрывается. Вот и получалось, что какая то ерундистика кидала этот самый exception - а он перехватывался в boost::thread и поток завершался. В результате получалась несуразица - процесс работает, но часть функционнальности как будто заблокировалась.
Вот вам и throw-catch. Один гемор с ними.
| |
|
|
|
|
2.8, vitek (??), 13:09, 01/07/2008 [^] [^^] [^^^] [ответить]
| +/– |
не знаю..
думаю на прикладном уровне их использование вполне возможно.
а вот для google.. представьте, если их сервисы упадут из-за утечки памяти хотя бы на 5 минут.. вот радости для livesearch будет!
| |
|
3.9, csdoc (ok), 13:26, 01/07/2008 [^] [^^] [^^^] [ответить]
| +/– |
> а вот для google.. представьте, если их сервисы упадут из-за утечки памяти
> хотя бы на 5 минут.. вот радости для livesearch будет!
шутишь? у google когда-то один из датацентров сгорел -
пользователи этого даже и не заметили, их запросы были прозрачно
перенаправлены на другие, оставшиеся в живых гугловские датацентры.
| |
|
4.10, vitek (??), 13:36, 01/07/2008 [^] [^^] [^^^] [ответить]
| +/– |
ну и представь, что на других датацентрах стоит тотже код, с теми же глюками!
помнишь веерное отключение электроэнергии в Москве? :-)
какие уж шутки!
по этому лучше уж административно запретить exception.
| |
|
|
2.11, Андрей (??), 16:03, 01/07/2008 [^] [^^] [^^^] [ответить]
| +/– |
Не знаю как с exception в Windows, но в gcc все нормально. Да ретрограды сидят и в Mozilla, там общее правило вообще ничего не использовать из c++ если возможно. И утечки памяти и прочии ошибки от исключений не зависят совершенно. Подобные правила только гемора программистам добавляют.
| |
|
1.12, Аноним (12), 18:48, 01/07/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ну они ж там ясно все сказали:
Given that Google's existing code is not exception-tolerant, the costs of using exceptions are somewhat greater than the costs in in a new project. The conversion process would be slow and error-prone. We don't believe that the available alternatives to exceptions, such as error codes and assertions, introduce a significant burden.
Our advice against using exceptions is not predicated on philosophical or moral grounds, but practical ones. Because we'd like to use our open-source projects at Google and it's difficult to do so if those projects use exceptions, we need to advise against exceptions in Google open-source projects as well. Things would probably be different if we had to do it all over again from scratch.
То есть они в принципе за, но их текущий код с исключениями не совместим, а переписывать - слишком большой геморрой, и если бы они делали заново - было бы по-другому.
| |
|