Правила программирования на С и С++. Главы 1-6 Страница 58. Функция должна делать только одно дело
|
Страница 58 из 93 51. Функция должна делать только одно дело.
Это обычно не очень удачная мысль - записывать то, что должна делать функция, через ее аргументы. Это должно делать имя функции. Например: 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(). Верным ключом для понимания того, что здесь что-то не так, является туманная природа имен аргументов. Функции не должны передаваться "намеки". Ей должны даваться указания. |