Долго сохраненный, неправильные [закрытые] предположения программирования

Возможно, вы захотите реализовать интерфейс Parcelable в своем классе SharedBooking и добавить их в Intent, то есть с помощью метода putParcelableArrayListExtra . Проверьте документацию здесь:

http://developer.android.com/reference/android/content/Intent.html#putParcelableArrayListExtra%28java.lang.String,%20java.util.ArrayList%3C ?% 20extends% 20android.os.Parcelable% 3E% 29

281
задан 17 revs, 10 users 36% 23 February 2012 в 10:12
поделиться

188 ответов

  • Язык программирования == Компилятор / Интерпретатор
  • Язык программирования == IDE
  • Язык программирования == Стандартная библиотека
5
ответ дан 23 November 2019 в 01:56
поделиться

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

5
ответ дан 23 November 2019 в 01:56
поделиться

О том, что популярный сейчас знак $ был незаконным как часть идентификатора java / javascript.

5
ответ дан 23 November 2019 в 01:56
поделиться

Раньше я думал, что я довольно хороший программист. На этой должности проработал 2 года.

Когда работаешь в вакууме, легко заполнить комнату :-D

5
ответ дан 23 November 2019 в 01:56
поделиться

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

(Честно говоря, может быть, в какой-то момент это БЫЛО ИСТИННО .)

5
ответ дан 23 November 2019 в 01:56
поделиться

ОО не обязательно лучше, чем не ОО.

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

6
ответ дан 23 November 2019 в 01:56
поделиться

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

Очень распространенная ошибка, даже в W3C!

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

В C ++ в течение долгого времени я думал, что компилятор отвергает ваше, когда дает определение для чистого виртуального метода.

I был удивлен, когда понял, что ошибался.

Много раз, когда я говорю кому-нибудь дать реализацию по умолчанию его чистого виртуального деструктора для его абстрактного класса, он / она оглядывается на меня БОЛЬШИМИ глазами. И я знаю отсюда, что последует долгая дискуссия ... Кажется, общее убеждение несколько распространилось среди новичков в C ++ (я тоже считаю себя ... Я все еще учусь!)

ссылка в Википедии на чистые виртуальные методы C ++

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

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

Когда я только закончил колледж , Я уже программировал на C 6 лет, знал все о «структурированном программировании», думал, что «OO» - это просто прихоть, и думал: «чувак, у меня все хорошо !!»

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

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

Пенни упал вскоре после этого, и я, наконец, получил" какое-то «смирение». Там'

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

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

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

7
ответ дан 23 November 2019 в 01:56
поделиться

Шаг первый: спросите хороших людей в Stack Overflow.

хорошо, хорошее начало

Другие шаги: Прошу прощения, что это не прямые ответы на ваши вопросы, но, надеюсь, они помогут вам их найти.

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

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

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

unsigned char x = 1;
unsigned char y = 2;
unsigned char z = abs(x - y);

правильное значение z равно 1

6
ответ дан 23 November 2019 в 01:56
поделиться

Я недавно узнал, что в Hello World выполняется более миллиона инструкций! Я написал программу на C ++. Я бы никогда не ожидал так многого от чего-то более простого, чем один оператор cout

6
ответ дан 23 November 2019 в 01:56
поделиться

Этот C ++ был самым крутым языком!

6
ответ дан 23 November 2019 в 01:56
поделиться

Эти goto вредны.

Теперь мы продолжаем или прерываем.

6
ответ дан 23 November 2019 в 01:56
поделиться

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

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

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

Кроме того, вы также можете изучить возможность использования GNU gold linker , t всегда нужен финализатор

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

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

Я могу написать приложение, в котором вообще нет ошибок

6
ответ дан 23 November 2019 в 01:56
поделиться

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

6
ответ дан 23 November 2019 в 01:56
поделиться

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

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

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

5
ответ дан 23 November 2019 в 01:56
поделиться

Чтобы менеджеры знали, о чем говорят.

5
ответ дан 23 November 2019 в 01:56
поделиться

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

6
ответ дан 23 November 2019 в 01:56
поделиться

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

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

6
ответ дан 23 November 2019 в 01:56
поделиться

Добрый день,

Что я буду просто проектировать и писать код.

Никаких требований, документации или поддержки.

Ура,

7
ответ дан 23 November 2019 в 01:56
поделиться
  • Мои коллеги создавали / создают предположительно плохой код, потому что они отстой / отстой. Мне потребовалось время, чтобы понять, что я должен сначала проверить, что произошло на самом деле. В большинстве случаев плохой код был вызван отсутствием управления, клиентами, которые не хотели проверять, что они действительно хотели, и начинали менять свое мнение, будто завтра не наступит, или другими обстоятельствами, не зависящими от чьего-либо контроля, такими как экономический кризис.
  • Клиенты требуют функций «на вчерашний день», потому что они глупы: Не совсем. Дело в общении. Если кто-то скажет им, что все действительно можно сделать за 1 неделю, угадайте, что? они захотят это через 1 неделю.
  • «Никогда не меняйте работающий код». ИМО, это нехорошо. Очевидно, вам не нужно менять то, что действительно работает. Тем не мение, Если вы никогда не меняете фрагмент кода, потому что он предположительно работает и слишком сложен для изменения, вы можете в конечном итоге обнаружить, что код на самом деле не выполняет то, что должен делать. Например: я видел, как программное обеспечение для расчета комиссионных с продаж выполняет неправильные вычисления в течение двух лет, потому что никто не хотел поддерживать программное обеспечение. Об этом никто в отделе продаж не знал. Формула была настолько сложной, что они действительно не знали, как проверять числа.
7
ответ дан 23 November 2019 в 01:56
поделиться

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

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

Что мое обучение подготовит меня к работе в поле.

5
ответ дан 23 November 2019 в 01:56
поделиться

Что изучение языка - это просто изучение синтаксиса и наиболее распространенных частей стандартной библиотеки.

5
ответ дан 23 November 2019 в 01:56
поделиться

По крайней мере, 6 лет я был убежден, что каждая проблема имеет ровно 1 решение.

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

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

Раньше я думал, что Internet Explorer 6 box model - это злая тупая идея, которую MS придумала только для того, чтобы нарушить совместимость с другими браузерами.

Многочисленные занятия CSS убедили меня в том, что это гораздо логичнее, и может значительно облегчить обслуживание дизайна страницы (изменение отступов/границ/маргиналов блоков).

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

6
ответ дан 23 November 2019 в 01:56
поделиться

Эти языки с интерпретацией байт-кода (например, C # или F #) медленнее, чем те, которые с помощью кнопки сброса компилируются непосредственно в машинный код.

Ну, когда я начал верить в это (в 80-х), это было правдой. Однако даже в C # - временах я иногда задавался вопросом, может ли «размещение этого внутреннего цикла в .cpp - файле сделать мое приложение быстрее»).

К счастью, нет.

К сожалению, я понял это всего несколько лет назад.

5
ответ дан 23 November 2019 в 01:56
поделиться

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

3
ответ дан 23 November 2019 в 01:56
поделиться

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

3
ответ дан 23 November 2019 в 01:56
поделиться
Другие вопросы по тегам:

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