Аналогия взаимодействия программы и функции

Если во время рисования ломается карандаш, приходится прекратить рисование и заточить карандаш. После этого можно вернуться к тому месту рисунка, на котором произошла остановка. Когда программа нуждается в выполнении некоторой вспомогательной операции, она обращается к функции, ответственной за выполнение этой операции, после чего продолжает свою работу с того места, где была вызвана функция.

Хороший и плохой комментарии

Хороший комментарий объясняет назначение данного блока программы или сообщает, почему здесь используются именно эти операторы. Плохой комментарий констатирует то, что делается в данной строке программы.

Либерти, Джесс, Хорват, Дэвид “Освой самостоятельно С++ за 24 часа”, 4-е издание. : Пер. с англ. — М.: Издательский дом “Вильямс”, 2007. — 448 с.

Аналогия между полиморфным базовым классом и подрядчиком

Лучше рассматривать полиморфный базовый класс как подрядчика. Базовый класс дает определенные обещания пользователям его интерфейса: сюда входят твердые синтаксические гарантии вызова определенных функций-членов с определенными типами аргументов, а также обещания, которые сложнее проверить, касающиеся того, что на самом деле произойдет при вызове конкретной функции-члена. Конкретные производные классы <...> представляют собой субподрядчиков, которые реализуют договор между классом Option и его клиентами.

Stephen C. Dewhurst “C++ Common Knowledge”, Addison-Wesley Professional, 2005, 272 p.

NullPointerException

Понравилось объяснение коллеги по поводу того, что же такое NullPointerException в Java: - Ну вот, предположим, ты приходишь к маме и говоришь: "Мама, мама, можно я заведу щеночка?". А мамы нет. Возможно она умерла 10 лет назад. А может её никогда и не существовало. И в этот момент возникает NullPointerException.



Комментарии

comments powered by Disqus