Правила программирования на Си и Си++

Функция должна делать только одно дело


Это обычно не очень удачная мысль —

записывать то, что должна делать функция, через ее аргументы. Это должно делать имя функции. Например:

UpdateAllViews( CView *sender, long lhint, CObject *phint )

{

// sender lhint phint

// NULL   xx    xx     Начальное обновление, вызываемое из

//                     обрамляющего окна

// Cview* 0     Crect* Вызывается, когда встроенный объект

//                     становится действительным. phint

//                     указывает на прямоугольник документа,

//                     сохраняя положение недействительного

//                     объекта

// Cview* 1     Crect* Сообщение, посылаемое объектом CView*

//                     ("sender" - передатчик). phint сохраняет

//                     для CView* обрамляющее окно его клиента.

}

Вам нужны вместо этого три функции: initial_update(), update_embedded_object() и update_view(). Верным ключом для понимания того, что здесь что-то не так, является туманная природа имен аргументов. Функциям не должны передаваться "намеки". Им должны даваться указания.



Содержание раздела