kika: (Default)
[personal profile] kika
Мы ребята деловые, ищем щели половые.


// false return value indicates an error
virtual bool initialize();


Следующий метод:

// non-zero return value indicates an error
virtual bool move();


Теперь внимание, вопрос:

// write storage dependent fast resume entries
bool write(entry& rd);

Date: 2009-04-29 08:47 am (UTC)
From: [identity profile] kika.livejournal.com
Как ты предлагаешь документировать исключения?

Date: 2009-04-29 09:36 am (UTC)
From: [identity profile] xfyre.livejournal.com
я так понимаю что Java не очень корректный пример, т.к. это именно фреймворк.

интуитивно я скорее согласен, что если речь идет про плюсовую библиотеку - вся обработка исключений долна быть внутри, т.к. методологий работы на плюсах существует великое множество и совершенно не факт, что разработчикам конечного продукта их собственные coding guidelines позволяют механизмы исключений использовать.

но в этом случае тезис про кастрацию должен иметь понятную оговорку "... для библиотек на C/C++".

Date: 2009-04-29 09:55 am (UTC)
From: [identity profile] kika.livejournal.com
Это некорректный пример для ответа на предыдущий (вернее, эээ, sibling) камент, а на этот - корректный. Потому что если использовать исключения, то они должны быть документированы как в яве.

Date: 2009-04-29 09:39 am (UTC)
From: [identity profile] krotoff.livejournal.com
Знаю только один нормальный способ: письменно в документации :)
В комментариях - ну разве что в самых простецких случаях.

А вот списки исключений и то, во что в С++ превратилось в unexpected - считаю костылищем ужасным. Либо давайте семантику, навроде статической проверки throws в Java, либо вообще не делали бы.

Date: 2009-04-29 10:00 am (UTC)
From: [identity profile] kika.livejournal.com
Я тебе хуже скажу - комментарии в программе сами по себе являются соплями. И документация, которая описывает исключения - соплями в квадрате. Вернее, она может их описывать, для знакомства с объектом без взятия его в руки, пожалста, но никак не как оперативное средство работы. Ты ваще соображаешь что ты говоришь - я использую какую-то инфраструктуру из нескольких десятков классов, которые внутри себя там что-то тоже используют, и я должен прочитать документацию по всем этим десяткам чтобы построить "правильный" catch на верхнем уровне? Это не программирование, это махание кайлом на рудниках.

Я это уже писал тут и могу проитерировать - программа есть форма кремниевой жизни. И она живет и развивается. А комментарии и документация - это заметки биолога и Ветхий Завет. Интересно пачетать!

Date: 2009-04-29 11:52 am (UTC)
From: [identity profile] krotoff.livejournal.com
Насчет комментариев - согласен.

А вот насчет документирования исключений - совсем наоборот. Разделы документации, в которых говорится об обработке ошибок, если они есть :D - они же самые увлекательные разделы во всей документации.
Что функция/класс делает - это и так понятно, в большинстве случаев даже понятно как они это делают, тут главное понять подходят они тебе, или нет. Ну и понять как их предлагают использовать, не креативным образом, а по назначению.

А вот обработка ошибок - это всегда интересно и увлекательно. И, главное, разнообразно. Почти как развязки в детективах :D про смерть и про любовь.
Если ее (обработку ошибок), конечно, документируют. Что, к сожалению, не всегда делают.
У тебя же вон там, в начале топика, очень правильный пример на эту тему есть.

Ты же не предлагаешь писать, не читая документацию, что то же метод, конечно, но тут уже не вижу разницы, не читать документацию по поводу return values, или по поводу исключений. Хотя согласен, что всякие return codes в нефатальных случаях игнорировать проще.

Date: 2009-04-30 06:52 am (UTC)
From: [identity profile] kika.livejournal.com
Проблема с комментариями и документацией не в том что их (не) читает программист, а в том, что их не читает компилятор. Все что не читает компилятор - это потенциальная сопля. Которая неизбежно превратится в кинетическую.

Date: 2009-04-30 07:25 am (UTC)

Profile

kika: (Default)
kika

January 2017

S M T W T F S
1234567
89 1011121314
151617181920 21
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 17th, 2026 05:11 am
Powered by Dreamwidth Studios