Программная инженерия

75
Как тренировать себя, чтобы не писать «умный» код? [закрыто]

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

75
Насколько важно самообучение в области программирования? [закрыто]

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

75
Как быть с популярным проектом, который вы больше не хотите поддерживать?

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

75
Как написать случай верблюда для таких слов, как «номер телефона», «мотоцикл», «длина волны» и т. Д.

У меня проблема с пониманием того, как применить синтаксис camelCase к некоторым именам моих переменных. Например, как правильно написать слово типа «номер телефона» в случае верблюда? Это phoneNumberили phonenumber? Аналогично с именем пользователя, это usernameили userName? Я думаю , что это...

75
Какова цель выделенной сборки машины?

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

74
Прыжки по работе, это проблема? [закрыто]

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

74
В какой момент вы «знаете» технологию, достаточную, чтобы включить ее в резюме [закрыто]

Недавно у меня был программист для интервью, который перечислил Python, PHP, Rails и ASP как некоторые из своих навыков. Однако в интервью они не знали, что такое управляющие структуры и базовая логика, они только следовали нескольким демонстрационным урокам. Поэтому мой вопрос заключается в...

74
На простом английском языке, что такое рекурсия?

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

74
Сколько строк в классе слишком много в Java? [закрыто]

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

74
С какими стрессами сталкиваются программисты на работе и как вы с ними справляетесь? [закрыто]

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

74
Почему я должен использовать шаблон MVC?

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

74
Как разработчик должен отказаться от невозможных требований? [закрыто]

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

74
Является ли `catch (...) {throw; } плохая практика?

Хотя я согласен с тем, что отлов ... без повторной обработки действительно неверен, я, тем не менее, считаю, что использование таких конструкций: try { // Stuff } catch (...) { // Some cleanup throw; } Приемлемо в тех случаях, когда RAII не применяется . (Пожалуйста, не спрашивайте ... не всем в...

74
Почему мы должны использовать break в switch?

Кто решил (и на основе каких понятий), что switchконструкция (на многих языках) должна использоваться breakв каждом утверждении? Почему мы должны написать что-то вроде этого: switch(a) { case 1: result = 'one'; break; case 2: result = 'two'; break; default: result = 'not determined'; break; }...

74
Как справиться со случайной сложностью в программных проектах

Когда Мюррея Гелл-Манна спросили, как Ричарду Фейнману удалось решить так много сложных проблем, Гелл-Манн ответил, что у Фейнмана есть алгоритм: Запишите проблему. Думай очень усердно. Запишите решение. Гелл-Манн пытался объяснить, что Фейнман был другим человеком, решающим проблемы, и не было...

74
Хранятся ли в оперативной памяти объявления типов данных, такие как «int» и «char», когда выполняется программа на C?

Когда выполняется программа на C, данные сохраняются в куче или стеке. Значения хранятся в адресах RAM. Но как насчет индикаторов типа (например, intили char)? Они тоже хранятся? Рассмотрим следующий код: char a = 'A'; int x = 4; Я прочитал, что A и 4 хранятся в адресах RAM здесь. Но как насчет aи...

74
Являются ли стеки единственным разумным способом структурирования программ?

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

74
Что такое шаблон проектирования «Все исправить»?

В этой статье Стивена Фиггинса, написанной в 2003 году на linuxdevcenter.com , BitTorrent Брэма Коэна описывается как использование шаблона проектирования «Исправить все». Менее распространенный подход, который затрудняет понимание BitTorrent, но заслуживает изучения, - это использование...

74
Почему многие разработчики программного обеспечения нарушают принцип открытого / закрытого?

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

73
Является ли гибкий подход слишком удобным оправданием для ковбоев?

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