Самое вредное неправильное представление новичков о программировании? [закрытый]

Я думаю, что быстрый и грязный ответ - то, что

  • LINQ к SQL является quick-easy, чтобы сделать это. Это означает, что Вы начнете более быстрые, и поставите более быстрый, если Вы будете работать над чем-то меньшим.
  • Платформа Объекта является всеобщим, беспощадным способом сделать это. Это означает, что Вы займете больше времени заранее, разработаете медленнее и иметь больше гибкости, если Вы будете работать над чем-то большим.
36
задан 5 revs, 3 users 75%unknown 23 May 2017 в 12:09
поделиться

67 ответов

В объектно-ориентированном программировании использование переменных экземпляра, где локальные переменные были бы более подходящими, особенно в многопоточных средах (например, сервлетах).

В более общем смысле, использование более широкой области действия, чем необходимо.

2
ответ дан 27 November 2019 в 05:06
поделиться

«Но вы можете все

1
ответ дан 27 November 2019 в 05:06
поделиться

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

1
ответ дан 27 November 2019 в 05:06
поделиться

Это автоматическое тестирование - пустая трата времени.

1
ответ дан 27 November 2019 в 05:06
поделиться

По моему опыту, большинство новых программистов переоценивают интеллект компилятора. Это может принимать форму ожидания умножения массивов c, как векторов или матриц, вплоть до сообщения компьютеру того, что они хотят, на английском языке. («диагонализуйте матрицу A;»). Я также видел, как люди ожидали, что компилятор будет полностью осведомлен обо всем коде с самого начала, и поэтому они небрежно относятся к тому, в каком порядке идут вещи.

1
ответ дан 27 November 2019 в 05:06
поделиться

Умные программисты знают, что:

  1. Лучший способ ускорить ваше применение - это придумать лучший алгоритм
  2. Модульное тестирование - лучший способ ускорить разработку и сократить время отладки.
  3. Никогда не внедряйте функцию, в которой вы не уверены, что она вам нужна
1
ответ дан 27 November 2019 в 05:06
поделиться

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

1
ответ дан 27 November 2019 в 05:06
поделиться

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

1
ответ дан 27 November 2019 в 05:06
поделиться

Как инструктор по совместительству я заметил, что они обычно думают, что программирование ОЧЕНЬ ОЧЕНЬ ТРУДНО!

1
ответ дан 27 November 2019 в 05:06
поделиться

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

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

1
ответ дан 27 November 2019 в 05:06
поделиться

В последних проектах мы прекратили программировать отдельный DAL.

Вместо этого мы используем объектно-реляционный сопоставитель (в нашем случае Entity Framework). Затем мы позволяем программе бизнес-уровня напрямую взаимодействовать с ORM.

В некоторых случаях это сэкономило нам более 90% усилий по разработке.

понимание того, как вся взаимосвязь между php и html кажется многим большим препятствием
  • Когда у меня был класс программирования для начинающих, было МНОГО путаницы в том, как все работает - если нам в значительной степени показали VB.Net 2005 Express, показал, как создать новый проект с окном на нем, учитывая функцию "Rand" (я думаю, она называется, я не парень VB), а затем попросил создать игру, которая использует случайные числа. Надо ли говорить, что менее половины класса когда-либо понимали разницу между использованием локальной функции / суб-переменной или объявлением переменной в классе? К тому же, я не думаю, что никто из них никогда не имел ни малейшего представления о том, что, черт возьми, такое ООП, или о том, что они могут создавать свои собственные объекты.
  • Честно говоря, я не могу вспомнить свои собственные (и Привет,

    1
    ответ дан 27 November 2019 в 05:06
    поделиться

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

    У моей жены есть степень бакалавра английского языка, она недавно пытается вернуться на CS степень. Я лично вижу это, когда она пытается написать свой код как:

    If Myint = 1
    
    Then
       cout ...
    
    Else
    
    1
    ответ дан 27 November 2019 в 05:06
    поделиться

    In my experience with newbie-friends, i think that the common misconception is that validating data and making your code fail-proof is just a waste of time. Really, EVERYONE in my CA class don't validate the INPUT data!

    • The other ones, is that you only need to sit on the chair and code. Forget about writing your problem and studying the best approaches before even touch the keyboard. And they also create so complex codes when a much simpler and pretty approach would work?

    Just my 2 cents.

    1
    ответ дан 27 November 2019 в 05:06
    поделиться

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

    1
    ответ дан 27 November 2019 в 05:06
    поделиться

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

    try {
        date = format.parse(dateString);
    } catch (ParseException e) {
        log.debug("exception: ", e);
    }
    String message = "The date was " + date.toString();
    

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

    1
    ответ дан 27 November 2019 в 05:06
    поделиться

    I think one that hasn't been mentioned yet is that some students assume they will always have valid data/input. In reality, valid data is only one condition and they forget about all the forms of invalid data/input.

    2
    ответ дан 27 November 2019 в 05:06
    поделиться

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

    if (thisBool = true)
        blah blah blah...
    

    - действительный код.

    1
    ответ дан 27 November 2019 в 05:06
    поделиться

    Концептуальное представление о том, как передаются ссылки в таких языках, как Java и C #.

    1
    ответ дан 27 November 2019 в 05:06
    поделиться

    That languages like Java, Python, etc "don't have" pointers as opposed to C.

    (beware I quoted the negative)

    2
    ответ дан 27 November 2019 в 05:06
    поделиться

    Жесткость синтаксиса языка предназначена для их раздражения или «для галочки».

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

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

    2
    ответ дан 27 November 2019 в 05:06
    поделиться

    Тестирование не важно / не нужно.

    Юнит-тесты - пустая трата времени

    Некоторые стили кода (соглашения об именах и т. Д.) Не важны

    3
    ответ дан 27 November 2019 в 05:06
    поделиться
    • Забыть этап Проектирование . Я все время работаю со студентами, которые просто хотят погрузиться в код, не задумываясь о конечном дизайне.
    • Непонимание того, как работает задание, подробно описано здесь .
    2
    ответ дан 27 November 2019 в 05:06
    поделиться

    Что функция из 500+ строк приемлема при условии, что она хорошо прокомментирована. Я видел, как опытные разработчики делали это и отказывались разбивать ее на обслуживаемые части, потому что функция «выполняла только то, что должна была, и каждая операция была прокомментирована»

    .
    2
    ответ дан 27 November 2019 в 05:06
    поделиться

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

    (На самом деле у меня был коллега, который сделал что-то глупое. Процесс должен был импортировать полмиллиона записей, и он очень гордился тем, что ускорил его запуск, просто пропустив некоторую инициализацию. В результате первая запись в журнале появлялась в течение секунды, а не через 10 секунд. К сожалению, весь процесс замедлился с От 30 минут до 6 часов ...)

    1
    ответ дан 27 November 2019 в 05:06
    поделиться
    • That [Insert язык, особенности языка, шаблон, технология du jour] - серебряная пуля для всех проблем.
    • Это хорошая идея.
    • Этот Unicode - всего лишь переключатель компилятора.
    • Это небольшое изменение победило ». t сломать что-либо.
    • Этот поиск чего-либо означает признание ошибки.
    1
    ответ дан 27 November 2019 в 05:06
    поделиться

    Что вы можете игнорировать типы переменных в динамическом языке.

    Очень часто программисты PHP делают такие вещи, как:

    $a = false;
    if ($a == "false") ...
    

    или:

    $b = "0";
    if ($b) ...
    
    1
    ответ дан 27 November 2019 в 05:06
    поделиться

    Чтобы быть разработчиком программного обеспечения, нужно знать языки программирования и API.

    1
    ответ дан 27 November 2019 в 05:06
    поделиться

    Что им не нужно узнавать ничего нового.

    1
    ответ дан 27 November 2019 в 05:06
    поделиться
    1. Они читают учебник в Интернете, копируют и вставляют код, который работает, но они не знают, почему, и им это нравится.
    2. Код работает на локальной машине но не на других
    3. Проблема в машине, а не в инопланетянине между креслом и клавиатурой
    4. Написание кода, но когда дело доходит до обслуживания, они предпочитают пиво ...
    2
    ответ дан 27 November 2019 в 05:06
    поделиться

    "We'll cross that bridge when we come to it"

    1
    ответ дан 27 November 2019 в 05:06
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: