Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
МомменйифциЖе свою nfwzficuuuf<br />
Я считаю, что можно избежать излишних ошибок, если комментировать программу<br />
в процессе ее написания, вместо того чтобы ждать, когда программа заработает,<br />
и только потом возвращаться и добавлять комментарии к тексту.<br />
Понятно, что никому не хочется тратить время на написание объемистых заголовков<br />
и пояснений к функциям, но я думаю, вы всегда найдете пару минут, чтобы добавить<br />
краткий комментарий к программе. Когда вы вернетесь к коду, написанному недели<br />
две назад, короткие и содержательные комментарии значительно облегчат<br />
"вживание" в программу.<br />
Кроме того, последовательно используемые отступы и соглашения об именах сделают<br />
код гораздо доступнее для чтения и понимания. Конечно, очень приятно, когда<br />
код легко читать по завершении написания программы, но просто необходимо, чтобы<br />
код хорошо воспринимался и при написании — именно тогда, когда вам действительно<br />
нужна помощь.<br />
cf&t oquH /газ выполншне<br />
п/гог/taMMtf пошагово<br />
Вам, как программисту, очень важно понимать, как работает ваша программа. Ничто<br />
не может дать облегчить понимание, чем пошаговое выполнение программы<br />
с помощью хорошего отладчика (обычно для этого вполне подходят отладчики, включенные<br />
в среды разработки компиляторов).<br />
Когда некоторая функция готова и может быть добавлена к программе, ее следует<br />
тщательно проверить хотя бы один раз, проходя все возможные варианты ветвления<br />
потока управления. Гораздо легче отлавливать ошибки в отдельной функции, чем<br />
в комплексе с другими функциями программы.<br />
ШЗегашие пе/гег/гузки опе/гаМо/ьов<br />
Настоятельно советую избегать перегрузки операторов, за исключением операторов<br />
ввода-вывода operator« () и operator>> () и оператора присвоения<br />
operatorH), пока вы как следует не освоитесь в C++. Хотя хороший набор перегруженных<br />
операторов и может значительно повысить полезность класса и читаемость<br />
кода, перегрузка почти никогда не бывает крайне необходимой и может значительно<br />
усложнить жизнь начинающего программиста.<br />
После того как вы интенсивно поработаете с C++ по меньшей мере несколько месяцев,<br />
можете начинать перегружать операторы как вам заблагорассудится.<br />
с кучей<br />
Основное правило, касающееся кучи, заключается в том, что выделение и освобождение<br />
памяти из кучи должно происходить на одном уровне. Если функциячлен<br />
MyClass: : create () выделяет блок памяти и возвращает его вызывавшему коду,<br />
то должна существовать и функция MyClass : : release (), которая освобождает<br />
блок памяти, возвращая его в кучу. MyClass :: create О не должна требовать от<br />
вызывающей функции самостоятельного освобождения памяти. Это, конечно, не<br />
320 Часть VI. Великолепная десятка