Как повысить свои навыки программирования на С/С++?

Я полностью (как мне кажется) изучил два языка программирования (С и С++). Я могу прочитать любую программу, написанную на одном из этих языков, но всё равно писать сложные многофункциональные (антивирус, веб-браузер ...) программы не получается. Зачастую в моём коде встречается очень много логических ошибок, которые очень тяжело находить и исправлять. Как повысить мне свои навыки программирования ?
  • Вопрос задан
  • 739 просмотров
Пригласить эксперта
Ответы на вопрос 6
abyrkov
@abyrkov
JavaScripter
Ну что же... итак.
1. Узнайте больше о кодстайлах
Кодстайл(codestyle) - это, в буквальном смысле, стиль кода. Если вы будете писать по кодстайлу, то проблем явно станет меньше. Код станет читабельнее, его станет легче читать и сопровождать. А тот код, что написан с явными нарушениями очевидных правил... это такой же вырвиглаз как пробелы перед знаками препинания и ???.
2. Научитесь пользоваться дебаггером
Действительно. Дебаггер это, в буквальном смысле, антибаг. Багом, если вы еще не в курсе, называют именно логические ошибки. Ну, я думаю, освоив этот инструмент вы станете гораздо успешным охотником за покемо... жуками-багами.
3. Перейдите на IDE
Многие IDE или продвинутые редакторы имеют кучу плюшек, которые облегчат вам жизнь до того, что создание кода превратиться в чистое наслаждение. Оно того стоит.
4. Анализируйте ошибки
Все делают ошибки. Но если мы будем узнавать и запоминать в чем тогда была ошибка выше шанс, что мы ее не сделаем в следующий, и, если мы ее все-таки сделаем, то куда быстрее ее найдем.
5. Учите и используйте библиотеки
Люди давно уже поняли, что можно использовать один и тот же код несколько раз, а особо универсальный код - собственно библиотеку - можно использовать во многих проектах. Правильно подобранная библиотека позволит вам намного ускорить разработку типичных вещей.
6. Сначала думай, потом делай
Ты, наверно, думаешь, что как только крутым кодерам приходит в голову гениальная идея, они сразу же садятся и пишут код? Нет, они сначала придумывают структуру этой вещи, что они для нее будут использовать, алгоритм... словом, кучу вещей и только убедившись, что все предусмотрели, садятся, и пишут код.
7. Практика + Google
И, напоследок, запомни две простых вещи:
В теории, теория и практика неразделимы. На практике это не так.
и
Профессионалы тоже пользуются гуглом. Может, даже чаще, чем новички.

Удачных проектов тебе!
Ответ написан
Если вы полностью выучили C++, то смело можете подавать заявку в Книгу Рекордов Гиннеса. Ну или хотя бы сдайте годовой тест на Грандмастера.

Зачастую в моём коде встречается очень много логических ошибок, которые очень тяжело находить и исправлять.

Научитесь пользоваться отладчиком.
Ответ написан
Комментировать
MrNexeon
@MrNexeon
Если я правильно понял, ты хочешь сделать первый шаг к конструированию ПО, и при этом делать это грамотно. Для этого рекомендую книгу Совершенный код, она ответит на все твои вопросы.

Если же хочешь улучшить навыки написания кода на C++, прочитай такую книгу как Эффективный и современный С++, но лучше читать её во время практики, иначе всё мигом забудешь.
Ответ написан
Комментировать
@abcd0x00
Зачастую в моём коде встречается очень много логических ошибок, которые очень тяжело находить и исправлять. Как повысить мне свои навыки программирования ?

Если у тебя много логических ошибок, то у тебя проблема с алгоритмами. Нужно уметь разрабатывать алгоритмы ещё до того, как они записываются на каком-либо языке.

Тебе нужно научиться:
1) Словесно описывать алгоритм от начала до конца.
2) По словесному описанию алгоритма рисовать блок-схему.
3) По нарисованной блок-схеме писать псевдокод.
4) По псевдокоду писать уже конкретный код на конкретном языке.

Вот это всё и вырабатывает правильное мышление, когда ты ещё только думаешь над программой.

Немного про псевдокод

Псевдокод - это такой код, который не требует заморочек с синтаксисом и вообще способствует быстрому обмену информацией с другими.
Нужно делать такой псевдокод, чтобы с него можно было записать на разных языках одно и то же.
Очень часто вместо псевдокода используют питон для обмена идеями. Но это как раз потому, что при создании питона его старались максимально приблизить к псевдокоду.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Найдите работу программистом. В коллективе и на реальной задаче гораздо быстрее оттачиваются навыки.
Ответ написан
Комментировать
@JustMoose
Программист. Радиолюбитель. Прокрастинатор ;)
Зачастую в моём коде встречается очень много логических ошибок, которые очень тяжело находить и исправлять.

Я бы предложил почитать про рефакторинг и юнит-тесты.
Рефакторинг позволит сделать код несколько более понятным.
А юнит-тесты позволят "потренироваться на кошках" - убедиться, что в заданном куске кода нет логических ошибок, не запуская его в живой природе и с разными трудно воспроизводимыми условиями.

Про рефакторинг рекомендую Фаулера (www.ozon.ru/context/detail/id/1308678/).
Про юнит-тесты, увы, не знаю что читать. Я бился головой об стену собирая по крупицам информацию из интернета. Может кто посоветует какую-то готовую статью.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы