Что вы наиболее противоречивое мнение программирования?

__ cplusplus

В C ++ 0x макрос __cplusplus будет установлен в значение, которое отличается от (больше) текущего 199711L.

blockquote>

C ++ 0x FAQ by BS

363
задан 6 revs, 4 users 61% 23 May 2017 в 12:10
поделиться

407 ответов

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

Это занимает время для написания кода. Большую часть времени в окне редактора, Вы просто смотрите на код, не на самом деле вводя. Не как часто, но вполне часто, Вы удаляете то, что Вы записали. Или перемещение от одного места до другого. Или переименование.

Если Вы стучите далеко на клавиатуре в течение долгого времени, Вы делаете что-то не так.

Заключение: Количество строк кода, записанных в день, не является линейным измерением производительности программистов как программист, который пишет, 100 строк за день довольно вероятно лучший программист затем тот, который пишет 20, но тот, который пишет 5000, является, конечно, плохим программистом

11
ответ дан 23 November 2019 в 00:11
поделиться

Оценки для меня, не для Вас

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

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

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

Например -

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

Если оценки будут только для планирования затем, то мы будем все работать к 5 дням и объяснять маленький шанс проблемы, должен он возникать.

Однако - при встрече той оценки требуется как обещание доставки, какую оценку делают Вы думаете, дан?

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

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

11
ответ дан 23 November 2019 в 00:11
поделиться

Не используйте сохраненный procs в своей базе данных.

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

Этот определенно спорен. Каждый раз, когда я поднимаю его, люди разрывают меня.

11
ответ дан 23 November 2019 в 00:11
поделиться

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

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

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

10
ответ дан 23 November 2019 в 00:11
поделиться

Как насчет этого:

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

Обратите внимание, что я говорю о ресурсах в целом и не только памяти.

10
ответ дан 23 November 2019 в 00:11
поделиться

Использование хранимых процедур

Если Вы не пишете большую процедурную функцию, состоявшую из SQL-запросов одноразового использования, переместите свои хранимые процедуры базы данных и в управление версиями.

10
ответ дан 23 November 2019 в 00:11
поделиться

Мое спорное мнение? Java не сосет только Java, который делает API. Почему библиотеки Java настаивают на том, чтобы мешать делать простые задачи? И почему, вместо того, чтобы фиксировать API, они создают платформы, чтобы помочь управлять шаблонным кодом? Это мнение может относиться к любому языку, который требует, чтобы 10 или больше строк кода считали строку из файла.

10
ответ дан 23 November 2019 в 00:11
поделиться

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

Обычно это - просто некоторые менеджеры, которые обеспечивают 'требования'.

10
ответ дан 23 November 2019 в 00:11
поделиться

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

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

10
ответ дан 23 November 2019 в 00:11
поделиться

У большинства разработчиков нет подсказки

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

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

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

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

10
ответ дан 23 November 2019 в 00:11
поделиться

Явный self в объявлениях метода Python плохое проектное решение.

Вызовы метода получили синтаксический сахар, но объявления не сделали. Это - текучая абстракция (дизайном!), который вызывает раздражающие ошибки, включая ошибки периода выполнения с очевидной ошибкой диапазона в количестве, о котором сообщают, аргументов.

10
ответ дан 23 November 2019 в 00:11
поделиться

Я не знаю, действительно ли это спорно, но как насчет этого: Имена методов и имена функций являются лучшим видом комментария, который может иметь Ваш код; если Вы пишете комментарий, поворачиваете часть кода, Вы комментируете в функцию/метод.

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

11
ответ дан 23 November 2019 в 00:11
поделиться

Мой:

Долгие операторы переключения являются Вашими друзьями.В самом деле. По крайней мере, в C#.

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

Ну, вещь состоит в том, что в C#, операторы переключения всегда компилируются автоволшебно для хеширования таблиц переходов, поэтому на самом деле использование их является Лучшей Вещью К Do™ с точки зрения производительности при необходимости в простом ветвлении к нескольким ответвлениям. Кроме того, если операторы выбора организованы и сгруппированы разумно (например, в алфавитном порядке), они весьма управляемы вообще.

9
ответ дан 23 November 2019 в 00:11
поделиться

Ограбьте Щуку, записал: "Данные доминируют. Если Вы выбрали правильные структуры данных и организовали вещи хорошо, алгоритмы почти всегда будут самоочевидны. Структуры данных, не алгоритмы, являются центральными к программированию".

И с этих дней любые серьезные данные находятся в миллионах записей, я удовлетворяю то хорошее моделирование данных, самый важный навык программирования (использовать ли ли rdbms или что-то как sqlite или амазонка simpleDB или Google appengine хранение данных.)

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

9
ответ дан 23 November 2019 в 00:11
поделиться

Случайный набор афоризмов Cook...

  • Самый твердый язык для изучения является секундой.

  • Самая твердая ОС для изучения является второй - особенно, если первым был универсальный компьютер типа IBM.

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

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

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

  • Никакая ОС никогда не будет стабильна, если это не использует аппаратное управление памятью.

  • Низкоуровневое системное программирование очень, намного легче, чем программирование приложений.

  • Программист, у которого есть любимый язык, просто играет.

  • Запишите руководство пользователя СНАЧАЛА!

  • Политика и процедура предназначаются для тех, кто испытывает недостаток в инициативе работать иначе.

  • (Кредо Подрядчика): Tell'em, в чем они нуждаются. Give'em, что они хотят. Удостоверьтесь, что проверка очищается.

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

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

  • Вы можете piddle вокруг немного с небольшими блоками кода около начала испытать некоторые идеи, но в целом каждый не начинает кодировать всерьез, пока Вы НЕ ЗНАЕТЕ, как целая программа или приложение будут размеченными, и Вы ЗНАЕТЕ, что все это собирается работать ТОЧНО, как рекламируется. Для большинства проектов, по крайней мере, с определенной степенью сложности я обычно заканчиваю тем, что тратил 60 - 70 процентов времени впереди просто проникающие идеи.

  • Поймите, что программирование имеет мало общего с языком и всем, чтобы сделать с алгоритмом. Все те острота geegaws с незабываемыми акронимами, которые люди придумали за эти годы, являются просто различными способами освежевать кошку реализацию. Когда Вы снимаете весь OOPiness, RADology, Методологию разработки 37 и Лучшую практику 42, все еще необходимо иметь дело с основными стандартными блоками:

    • присвоения
    • условные выражения
    • повторения
    • поток управления
    • Ввод-вывод

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

  • Начало программистов работает с маленькими блоками кода. Как они приобретают опыт, они работают с когда-либо все больше большими блоками кода.
    Поскольку они получают еще больше опыта, они работают с маленькими блоками кода.
11
ответ дан 23 November 2019 в 00:11
поделиться

SQL мог и должен был быть добит большего успеха. Поскольку его исходная спецификация была ограничена, различные уличные торговцы расширяли язык в различных направлениях в течение многих лет. SQL, который записан для MS-SQL, отличается, чем SQL для Oracle, IBM, MySQL, Sybase, и т.д. Другие серьезные языки (берут C++, например) были тщательно стандартизированы так, чтобы C++, записанный в соответствии с одним компилятором, обычно компилировал неизмененный под другим. Почему SQL, возможно, не был разработан и стандартизирован лучше?

HTML был серьезно поврежденным выбором как языком дисплея браузера. Мы провели годы, расширяя его через CSS, XHTML, JavaScript, Ajax, Flash, и т.д. для создания применимого UI, и результат все еще не так хорош как основное приложение Windows толстого клиента. Плюс, компетентный веб-программист теперь должен знать три или четыре языка для создания достойного UI.

О, да. Венгерская запись является отвращением.

12
ответ дан 23 November 2019 в 00:11
поделиться

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

9
ответ дан 23 November 2019 в 00:11
поделиться

Кодирование - это искусство

Некоторые люди думают, что кодирование - это искусство, а другие думают, что кодирование - это наука.

Фракция «науки» утверждает, что целью является получение оптимальный код для ситуации, тогда кодирование - это наука о том, как получить этот оптимум.

Фракция «искусства» утверждает, что есть много способов получить оптимальный код для ситуации, процесс полон субъективности, и что мудрый выбор, основанный на ваших собственных навыках и опыте - это искусство.

10
ответ дан 23 November 2019 в 00:11
поделиться

Рекурсия - это весело.

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

10
ответ дан 23 November 2019 в 00:11
поделиться

Операторы "больше, чем" (>,> =) должны быть устаревшими

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

Рассмотрим общепринятое математическое обозначение «диапазона»: 0 <= i <10

Это легко аппроксимировать в коде теперь, и вы привыкнете видеть идиому, в которой переменная повторяется в середине, к которой присоединяется &&:

if (0 <= i && i < 10)
    return true;
else
    return false;

Когда вы привыкнете к этому шаблону, вы больше никогда не будете смотреть на глупости, подобные

if ( ! (i < 0 || i >= 9))
    return true;

, так же снова.

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

Кроме того, предпочтение operator < закреплено в стандартах C ++. В некоторых случаях operator = определяется в терминах него! (как ! (a )

12
ответ дан 23 November 2019 в 00:11
поделиться

MIcrosoft не так плох, как многие говорят.

10
ответ дан 23 November 2019 в 00:11
поделиться

Копировать / вставить ЕСТЬ корень всего зла.

11
ответ дан 23 November 2019 в 00:11
поделиться

Делать программное обеспечение настраиваемым - плохая идея.

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

Я думаю, что программное обеспечение, конфигурация которого жестко запрограммирована (но не обязательно избегает констант и т.д.) для ПРОСТО РАБОТЫ, является хорошей идеей. Используйте разумные настройки по умолчанию и НЕ ДОПУСКАЙТЕ ИХ ИЗМЕНЕНИЕ.

Хорошим примером этого является количество параметров конфигурации в Google Chrome - однако, вероятно, их все еще слишком много :)

10
ответ дан 23 November 2019 в 00:11
поделиться

Microsoft должна прекратить поддерживать все, что связано с Visual Basic.

10
ответ дан 23 November 2019 в 00:11
поделиться

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

То есть аутсорсинг редко бывает хорошей идеей.

Я всегда считал, что это правда, но никогда особо до недавнего времени знала масштабы этого. Недавно я «поддерживал» (читай: «исправлял») некоторый сторонний код, и это огромный беспорядок. Это легко обойдется нашей компании дороже, чем разница, если бы она была разработана собственными силами.

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

12
ответ дан 23 November 2019 в 00:11
поделиться

Intranet Frameworks, как SharePoint, заставляет меня думать, что весь корпоративный мир - это один гигантский страус с головой в песок

Я говорю не только о MOSS, я работал с некоторыми другими продуктами CORPORATE INTRANET, и абсолютно ни один из них не хорош, но SharePoint (MOSS ), безусловно, худший.

  • Большинству этих систем нелегко преодолеть разрыв между Интранетом и Интернетом. Итак, как удаленный работник, вы вынуждены использовать VPN. Внешние клиенты просто не могут позволить себе роскошь получить вашу внутреннюю информацию из первых рук. Конечно, это можно исправить ценой $$$.
  • Возможности поиска всегда жалки. Многие другие отделы просто не Я не знаю, что есть информация.
  • Информационные фрагменты, люди начинают бойкотировать рабочие процессы или возвращаются к электронной почте.
  • Разработка SharePoint - самая болезненная форма разработки на планете. Ничто так не отстой, как SharePoint. Я видел, как несколько разработчиков задумывались о том, чтобы бросить ИТ после более года работы в MOSS.
  • Независимо от того, как разработчики ненавидят MOSS, независимо от того, сколько времени уходит на развертывание самых простых проектов, независимо от того, насколько новичками выглядят результаты, и независимо от того, насколько непостижимым и фрагментированным является контент:

КАЖДЫЙ ПРОДОЛЖАЕТ ДЛЯ ИСПОЛЬЗОВАНИЯ И ПОКУПКИ SHAREPOINT, И МЕНЕДЖЕРЫ ЕЩЕ ОЧЕНЬ ТРУДНО ПЫТАЮТСЯ ПРЕДОСТАВЛЯТЬ ЕГО НЕ САТАНЫ.

Микроформаты

Использование классов CSS, изначально разработанных для визуальной компоновки - теперь назначение и для визуальных, и для контекстных данных - это хитрость, много двусмысленности. Не говорю, что функциональности не должно быть, но исправьте чертов базовый язык. HTML не был взломан для создания XML - вместо этого появился язык XML. Теперь у нас есть эти нетерпеливые сценаристы, взламывающие HTML и CSS, чтобы делать то, для чего они не предназначены, это все еще нормально, но я бы хотел, чтобы они оставили эти вещи при себе и не сделали из этого стандарта. Просто до ... бойни!

10
ответ дан 23 November 2019 в 00:11
поделиться

Разработчики злоупотребляют базы данных

Слишком часто разработчики хранят данные в DBMS, который должен быть в коде или в файле (файлах). Я видел one-column-one-row таблицу, которая сохранила 'системный пароль' (отдельный от пользовательской таблицы.) я видел константы, сохраненные в базах данных. Я видел базы данных, которые заставили бы выращенный кодер кричать.

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

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

8
ответ дан 23 November 2019 в 00:11
поделиться

Sometimes you have to denormalize your databases.

An opinion that doesn't go well with most programmers but you have to sacrifice things like noramlization for performance sometimes.

8
ответ дан 23 November 2019 в 00:11
поделиться

Programming: It's a fun job.

I seem to see two generalized groups of developers. Those that don't love it but they are competent and the money is good. The other group that love it to a point that is kinda creepy. It seems to be their life.

I just think it well paying job that is usually interesting and fun. There is all kinds of room to learn something new every minute of every day. I can't think of another job I would prefer. But it is still a job. Compromises will be made and the stuff you produce will not always be as good as it could be.

Given my druthers would be on a beach drinking beer or playing with my kids.

8
ответ дан 23 November 2019 в 00:11
поделиться

Программирование - это ни искусство, ни наука. Это инженерная дисциплина.

Это не искусство: программирование обязательно требует творчества. Это не делает это искусством. Код разработан и написан для правильной работы, а не для эмоционального возбуждения. За исключением пробелов, изменение кода по эстетическим причинам нарушает ваш код. Хотя код может быть красивым, искусство не является его основной целью.

Это не наука: наука и технология неразделимы, но программирование относится к категории технологий. Программирование - это не систематическое изучение и наблюдение; это дизайн и реализация.

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


I ' Я уверен, что есть те, кто хотел бы разбирать слова, расширяя определения искусства и науки, чтобы включить программирование или ограничение инженерии только на механические машины или оборудование. Проверьте словарь. Также «Искусство компьютерного программирования» - это другое использование искусства, которое означает умение или ремесло, как в «искусстве разговора». Продукт программирования - это не искусство.

9
ответ дан 23 November 2019 в 00:11
поделиться
Другие вопросы по тегам:

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