Самые распространенные ошибки начинающих программистов на C/С++

Самостоятельно обучаться программированию достаточно тяжело, многие бросают это занятие, даже не начав. Сначала нужно выбрать язык программирования (я рекомендую C++), выберите понравившийся вам учебник по программированию и установите IDE. Только после этого вы можете приступать непосредственно к самому программированию.

Думайте, как программист

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

Заголовочные файлы и библиотеки, которые поставляются вместе с компилятором (например, файл iostream, который позволяет взаимодействовать с пользователем) обеспечивают много уже существующей функциональности. Вы можете использовать наш сайт, различные книги или другие сайты для поиска нужных функций. Таким образом вам не придется изобретать велосипед, пользуйтесь тем, что уже есть. Это очень облегчает задачу программирования. Внезапно сложные проблемы будут выглядеть просто. Это разница между этим:

Идите вперед на 5 метров
Положите руку на стену
Переместите руку вправо, пока рука не столкнётся с препятствием
Направьте палец на переключатель
Нажмите вверх по переключателю

и этим

Идите к двери
Найти выключатель света
Включите свет

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

Ошибки компиляции

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

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

Отладка программ

Умение правильно отлаживать программу является одним из важнейших навыков, но большинство людей не рождаются с этим умением. Отладка программы сложна по нескольким причинам: во-первых, она расстраивает программиста. Например, вы только что написали кучу кода, и он не работает, даже если вы уверены, что всё правильно. Во-вторых, этот процесс довольно утомительный. Отладка часто требует много усилий, чтобы понять в чём проблема.

Чтобы узнать больше об отладке, прочтите эту статью.

Форматирование кода

Зачем нужно форматировать код, ведь он и так будет работать? Абсолютно верно, неотформатированный код будет работать точно также как и отформатированный. За исключением того, что разобраться в таком коде будет почти невозможно. Например:

//не отформатированный код
c=(num1+num2)/10;
a=6*(csin(x)*csin(x));
b=3*(csin(y)*csin(y));
v=9*(sin(z)*sin(z));
// отформатированный код
c = (num1 + num2) / 10;
a = 6 * ( csin(x) * csin(x) );
b = 3 * ( csin(y) * csin(y) );
v = 9 * ( sin(z)  * sin(z)  );

НУ и где понятнее написано? И это только несколько строчек, а если код программы будет состоять из сотен строчек и все как попало написаны. Одно точно ясно — ориентироваться в коде такой программы будет не просто. Поэтому начинайте правильно оформлять код сразу же, с первой своей программы. Так со временем у вас выработается свой стиль программирования. Несколько советов о том, как писать читабельный код или как выработать хороший стиль программирования.

Разработка программы

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

Автор: admin
Дата: 21.08.2012
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.