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

Я также попытался исправить некоторые ошибки, предложив решения.

Во время моего опыта в качестве новичка (я все еще считаю себя новичком) я видел некоторые закономерности и регулярные разочарования, которые время от времени подстегивали меня.

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

1. Отношение "знай все"

Мы люди, и мы хрупкие. И поэтому мы стараемся переоценивать свои способности и знания.

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

Интернет удобен для новичков, и поэтому первые несколько сеансов программирования будут чрезвычайно приятными и менее утомительными, что приведет к «Все знают».

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

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

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

2. Сомнение - Могу ли я это сделать?

Если убрать «Всезнайка», есть еще одна причина, по которой новички замедляют обучение или полностью раскрывают свой потенциал.

На этот раз убийца - «Сомнение». Программирование никогда не бывает легким и в сочетании с сомнениями может привести к катастрофе. Путешествие может быть недолгим, или ученик может легко прийти к выводу о своей некомпетентности.

Сомнения никогда не работают так, как мы хотели, только смелость может решить проблемы. Компьютерные науки - это область решения проблем, и если вы начинаете сомневаться в себе, то как вы можете решать проблемы для компьютера (аналогично тому, как помогать другим, любить или помогать другим, нам в первую очередь нужно помочь и полюбить себя).

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

Неудача - это первый шаг к успеху.

3. Несогласованный стиль написания кода - от A до 3 и Bingo.

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

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

Кроме того, поддержание согласованности может повысить производительность. Всегда рекомендуется писать с использованием IDE или текстового редактора, чтобы гарантировать автоматизацию имен переменных после первого объявления.

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

4. Чем больше функции, тем лучше - нет!

Сложность заставляет нас поверить в то, что мы умны, сумасшедшие и отличаемся от других. Тем не менее, сложность может быть весьма полезной для многих. Но, по мнению Эйнштейна, всегда лучше найти простой подход.

Это приводит к большим функциям, включающим сотни строк. Более крупные функции сложно отлаживать и поддерживать, и может быть много случаев, когда целая ночь может быть потрачена на код, не найдя никакого решения для ошибок.

Решение? Разбейте его на несколько функций. Никто не ненавидит удобочитаемость, и вам также будет проще отлаживать весь этот проклятый код (который по загадочным причинам не компилируется без ошибок с первой попытки).

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

Простота легко побеждает сложность, и всегда лучше написать код, который будет легко отлаживать и поддерживать в ближайшем будущем (даже не позволяйте инопланетянам думать, что мы глупы).

5. Плохая функция и имена переменных - InShort - Запись для людей

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

Но функции выглядят великолепно и чувствуют себя лучше, если их названия значимы.

Например,

DoesXThing () {}

do_something ()

}

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

Имя функции ToCalculateTheMeanOfTheSumOfEpicNumbers () бесполезно. Это сбивает с толку других и вас в долгосрочной перспективе.

Лучшее название функции - MeanSum ().

Теперь настала очередь имен переменных. Имена переменных и функций ограничены языком программирования, который вы используете. Многие языки программирования не позволяют начинать имя переменной или функции с символа подчеркивания (_) или числа.

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

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

//calulating the largest vechile
def find_vehicle(entrypoint,exitpoint):
    the_final_array = arr[entrypoint:exitpoint+1]
    the_largest = 3
    for each in the_final_array:
        if each < the_largest:
            the_largest = each
    return the_largest
    
//taking input
length, testcases = input().split()
length, testcases = int(length), int(testcases)
arr = list(map(int,input().split()))
for i in range(0,testcases):
    entrypoint, exitpoint = input().split()
    entrypoint, exitpoint = int(entrypoint), int(exitpoint)
    res = find_vehicle(entrypoint, exitpoint)
    print (res)nd_vehicle(entrypoint, exitpoint)
print (res)

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

6. Комментирование и избыточное комментирование - где комментарий?

У монеты всегда две стороны, и это верно для многих идей, концепций или поведения, с которыми мы сталкиваемся в повседневной жизни.

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

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

Небольшое использование юмора в комментариях может сработать, но написание эссе в комментариях без надобности вообще не рекомендуется (если не требуется).

Например, Variable + = 1 // увеличивает Variable на 1, это не нужно и беспокоит других.

7. Наполовину запеченные знания

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

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

8. Резервное копирование работы

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

Машина подвержена ошибкам, жесткий диск может выйти из строя, и ваша работа тоже. Лучший способ убедиться, что ваша работа остается безопасной, - это делать резервные копии вашей работы через регулярные промежутки времени (2 дня моей работы или использование GitHub).

Dropbox - отличный облачный сервис, который поможет вам в кратчайшие сроки сохранить вашу работу. Перетащите и отпустите, и он будет загружен в облако.

9. Не использовать ручку и бумагу

Я большой поклонник ручки и бумаги. Мой мозг работает лучше, когда я использую инструменты, которые использую последние 20 лет. Настоящее преимущество использования ручки и бумаги состоит в том, что вы начинаете думать и решать проблему еще до написания единственной строчки кода.

Многие новички пытаются написать код, не понимая проблемы. Это означает катастрофу, и они легко могут потерять время, не добившись значительного прогресса.

Ключевым моментом здесь является планирование перед продолжением. Основные вещи, которые вы должны иметь в виду, прежде чем начинать записывать код в вашем редакторе, следующие:

  • Разберитесь в требованиях и ограничениях проблемы. Первый важный шаг - понять суть проблемы. Что это за ввод и в каком формате? Какой желаемый результат? Какой срок установлен для программы? и множество других вопросов, которые приходят вам в голову, необходимо решить, прежде чем двигаться дальше.
  • Выбор структуры данных. Следующий важный шаг - выбор структуры данных для вашей проблемы. Может ли стек решить мою проблему или список или лучше очередь? Поэкспериментируйте, чтобы найти наилучшую структуру данных для решения. Выбор лучшей структуры данных имеет решающее значение для производительности решения.
  • Подумайте о любых контрольных случаях. Тестирование кода так же важно, как и его написание. Составьте мысленную карту или лучше запишите угловые тестовые случаи, которые вы можете придумать.
  • Подумайте о черновом рабочем наброске вашего кода - мне это подходит. Не совсем тот код, который работает, но код, который может работать и максимально приближен к решению (иногда вы можете попасть в бинго с первой попытки, но для сложных проблем шансов меньше).
  • Разбейте проблемы на решаемые части. Для многих программистов простые задачи можно решать в уме, но реальные проблемы отличаются друг от друга и требуют тщательного планирования.

Теперь запустите редактор и начните писать код.

10. Не используется надлежащий инструмент отладки или IDE.

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

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

Заворачивать

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

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

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

Итак, как вы думаете, статья закончена? Прокомментируйте ниже и дайте нам знать. Также не забывайте отмечать своих друзей и делиться с ними этим. Поделиться любовью!

Впервые статья была размещена на ТехАльтаире. Любые хлопки побудили бы меня продолжать писать, особенно о моем личном опыте.