Не получается писать программы

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

За 1й курс удалось немного разобраться в алгоритмах и начать писать программы в Pascal, но за оконные приложения было страшно браться. Так как выхода не было, выбор пал на Delphi 7, потому что object pascal был ближе всего к тому языку, которому пытались [м]учить в школе.

Кстати, конкретно по Delphi мне очень помогла книга «Михаил Фленов — Библия Delphi» ( Скачать )

От большого количества настроек полноценной IDE разбегались глаза. Интуитивно и методом научного тыка удалось вывести текст в поле ввода по нажатии на кнопку. Благо компоненты на форму можно было легко перетаскивать мышкой.

У меня не получится или не получается программировать. Разбираю 4 ситуации + свой опыт.

Всё было хорошо до тех пор, пока программа не становилась реальной. Когда нужна была обработка данных, обработка текста, правильно выставленные события по нажатию на различные компоненты формы. Часть кода Delphi генерировала сама IDE, но на тот момент код был ужасно непонятный.

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

Сейчас мы подходим к важной части. Заметки об ошибках.

Моими основными ошибками на тот период было следующее:

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

2. Я не читал внимательно сообщения компилятора, и даже не гуглил ошибки правильно. Компилятор много подсказывает. Особенно на начальном этапе обучения, когда человек сталкивается по большей части только с синтаксическими ошибками.

Читайте также:
Как участвовать в программе первый автомобиль

3. Вместо того, чтобы разобраться в проблеме или ошибке алгоритма, я изменял какие-то мелочи в программе и пытался вновь ее компилировать.

4. Я не читал книги от простых до сложных примеров, а зачем-то всё пытался сделать методом тыка, на что тратилось огромное время. Такую работу явно не назвать продуктивной. Поверьте, лучше потратить время, чтобы наточить свой топор , чем сразу идти рубить лес, надеясь на свою упертость.

5. Давал неправильные имена переменным и функциям, что способствовало ухудшению качества кода. Уже на следующий день приходилось катать колесико по листингу и искать за что отвечает некая переменная p . Названия должны быть осмысленные!

Пример: если ваш алгоритм определяет четную переменную и где-то использует флаг четности этой переменной в виде булевой (логической, boolean, bool), то не надо называть её flag = False . Пройдет время (1 — 2 дня даже), и вы забудете за что отвечает этот flag , вам нужно будет заново изучать весь кода. Используйте префиксы, используйте английские слова.

ЧТО ДЕЛАТЬ ЕСЛИ НЕ ПОНИМАЕШЬ ПРОГРАММИРОВАНИЕ | КАК ВЫУЧИТЬ ПРОГРАММИРОВАНИЕ

Назовите эту переменную хотя бы isEven = False. Это уже будет намного понятнее для вашего глаза. Код должен читаться также легко, как и текст на английском языке. В противном случае это говнокод.

6. Я не управлял сложностью. Естественно я даже не знал о принципе KISS ( Keep it simple, stupid ). Не нужно писать хитрый код без должной необходимости. Рефакторинг прежде всего основан на простоте и читабельности кода. У этих факторов самый высокий приоритет.

Если вы пишите сложный и хитрый код, то на это должна быть весомая причина, к примеру, повышение скорости работы программы на 20 %. Только в комментариях к такому методу (функции, процедуре) вы обязательно должны пояснить за этот алгоритм. Ведь не факт, что ваши коллеги сталкивались с этим алгоритмом. Им будет проще разобраться, если будут комментарии. Комментариев не должно быть мало, не должно быть много. Они должны быть там, где код можно трактовать по-разному ( в сложных моментах, хоть и сложность всегда субъективна ).

7. Для своего обучения я не использовал множественные источники информации. Чтобы понять одну тему, сложную для вас, вы можете прочитать одну книгу, другую книгу, выборочные статьи в интернете, посмотреть уроки на YouTube . Тогда со временем у вас сложится ваше собственное понимание. К примеру, есть такая сложная тема как указатели и ссылки (кстати вот неплохая статья по этой теме ) , с чем сталкиваются те, кто начинает изучать C/C++. Вот здесь явно не поможет один источник информации. Потому что каждый объясняет по-разному, а тема довольно сложная, а уж ошибки компилятора по этой теме вообще не очевидные. Конкретно по этой теме и в целом по языку C++ я могу посоветовать следующую книгу:
C++. От ламера до программера [2015] Эллайн ( Скачать ). А хорошие примеры кода от простого к сложному есть в книге Программирование на языке С [2007] С. Кочан . А еще есть очень хорошая книга для начинающих: C++ для чайников [2019] Дэвис Стефан Рэнди ( скачать 2014 En и Скачать 2007 Ru ). Есть также статья, где указан исчерпывающий список книг для изучения этого языка: Список книг для обучения программированию на C++

Читайте также:
Программы для зрения отзывы

8. Ещё одна ошибка — при выборе языка программирования слушать советы 90% людей из интернета. К сожалению, это так. Как бы я тоже обычный человек из интернета, но я сейчас попробую кратко объяснить ситуацию. Дело в том, что большинство раздающих вам советы являются мамкиными специалистами, которые всего лишь рефлексируют чужое необоснованное мнение. В итоге задается некоторый тренд.

Один недалекий скажет » Pascal отстой, Python лучший «, другой скажет » С уже давно не актуален «, третий скажет » Знания Assembler никому не нужны «, четвертый скажет » Сейчас всё можно написать в WEB-приложении «. Кругом будут всегда бегать мамины программисты с криками » То не актуально, это не актуально, C++ умрет, а ИИ на Python захватит мир и бла-бла-бла «. Есть и такие, которые считают актуальными книги только текущего года выпуска. В интернете такие горе-эксперты пишут, что книга по математике 1980 год уже 40 лет как устарела.

Но если их спросить » А что устарело? «, то ответа вы не дождетесь. Потому что ответа у них нет. Естественно, большинство из таких людей не читало никаких книг, не решало реальных математических задач. Это просто толпа, пересказывающая слухи.

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

Мораль : Учитесь на ошибках других людей, запоминайте свои ошибки, всегда проводите анализ вашей деятельности

Критика языков программирования в интернете

Вероятно, каждый человек, который начинает увлекаться программированием в наше время, может встретить такие комментарии в социальных сетях, которые восхваляют 1-2 «мейнстримных» языка программирования и мешают с грязью все остальные. «Pascal мертв», «Delphi г*вно», «Assembler никому не нужен», «Разве Си еще где-то используют», «Мобайл-web всему голова», «Java тормознутая и уже мертвая» и прочий бред.

Источник: dzen.ru

Не получается писать программы

Комментарии

Популярные По порядку
Не удалось загрузить комментарии.

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

20 рабочих советов от Junior Front-end developer

В начале изучения важна каждая крупица знаний. Для статьи мы отобрали список полезных советов для совсем зеленого front-end developer-а.

Карьерный рост: в чем разница между Junior, Middle и Senior?

В форме вопрос-ответ кратко обсуждаем ключевые особенности карьерного роста разработчика и отличия позиций Junior, Middle и Senior.

Читайте также:
Какие программы есть в посудомоечных машинах

С чего начать, чтобы стать айтишником, если вы далеки от IT

В статье мы расскажем, какие шаги предпринять, с чего начать и как построить свое обучение, чтобы стать айтишником, если вы далеки от ИТ.

Источник: proglib.io

Я застрял! — 5 советов как выйти из ступора и начать программировать

Обложка: Я застрял! — 5 советов как выйти из ступора и начать программировать

Начать программировать может быть сложно, потому что мозгу нужно перестроиться от объектов реального мира к абстракциям. Рассказываем, как организовать обучение программированию так, чтобы минимизировать отвлекающие факторы и не застрять на полпути.

Подготовка

Чтобы вас ничего не отвлекало освободите стол и оставьте открытыми только те программы, которые вам нужны. Для того чтобы сконцентрироваться на задаче вы можете использовать технику помидора или обычный таймер, чтобы определённое время заниматься только задачей.

иллюстрация метода помидора

Картинка с сайта https://skillbox.ru/media/management/pomodoro/

Начало работы

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

  1. Отобразить форму на экране.
  2. Обработать нажатия клавиш.
  3. Получить данные из полей формы.
  4. Проверить данные.
  5. Отправить данные на сервер.
  6. Обработать ответ.
  7. Отобразить результат на экране.

Так стоит поступать с любой, сколь угодно сложной задачей. В результате у вас всегда будет подробный план действий, каждый шаг которого можно легко выполнить.

Баги

Главное правило при встрече с багом — не паникуйте. Просто попробуйте сделать следующее:

  1. Повторите баг.
  2. Проверьте код который изменялся.
  3. Вспомните что вы делали в IDE.
  4. Комментируйте код в поисках не работающей строки.
  5. Почитайте подробнее о том как искать и исправлять баги.
  6. И наконец, если вам не помог Google или StackOverflow, попробуйте спросить совета там где общаются программисты.

Понимание

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

Применяйте знания на практике

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

Источник: tproger.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru