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

77
Что на самом деле не так с конечной точкой, возвращающей HTML, а не данные JSON?

Когда я впервые начал изучать PHP (около 5 или 6 лет назад), я узнал об Ajax и прошел «фазы»: Ваш сервер возвращает данные HTML, и вы помещаете их в innerHTML DOM Вы узнаете о форматах передачи данных, таких как XML (и говорите «ооо, значит, для этого он и используется»), а затем JSON. Вы...

77
Почему объекты Java не удаляются сразу после того, как на них больше нет ссылок?

В Java, как только у объекта больше нет ссылок, он становится пригодным для удаления, но JVM решает, когда объект фактически удален. Чтобы использовать терминологию Objective C, все ссылки на Java по своей природе являются "сильными". Однако в Objective-C, если у объекта больше нет сильных ссылок,...

76
Как я могу улучшить свои навыки кодирования? [закрыто]

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

76
Почему Python написан на C, а не на C ++?

В уроке по Python можно прочитать, что оригинальная реализация Python находится на C; С другой стороны, реализация Python, написанная на C, (...) Мне очень любопытно, почему Python был написан на C, а не на C ++? Я хотел бы знать причину этого решения, и ответ должен быть подкреплен историческими...

76
Python интерпретируется или компилируется?

Это просто удивление, которое я испытал, читая о интерпретируемых и компилируемых языках. Ruby , без сомнения, является интерпретируемым языком, поскольку исходный код обрабатывается интерпретатором в точке исполнения. Напротив, C - это скомпилированный язык, так как нужно сначала скомпилировать...

76
Практическое использование ключевого слова yield в C # [закрыто]

После почти 4 лет опыта я не видел кода, в котором используется ключевое слово yield . Может ли кто-нибудь показать мне практическое использование (наряду с объяснением) этого ключевого слова, и если да, то нет ли других способов, чтобы легче было выполнить то, что оно может...

76
Что должно иметь приоритет: YAGNI или Good Design?

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

76
Должны ли разработчики вводить ошибки в систему отслеживания ошибок?

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

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

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

76
Какова цель проверки кода

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

76
Почему базовые для всех объектов не рекомендуется в C ++

Страуструп говорит: «Не изобретайте сразу уникальную базу для всех ваших классов (класс Object). Как правило, вы можете сделать это лучше для многих / большинства классов». (Язык программирования C ++, четвертое издание, раздел 1.3.4) Почему базовый класс для всех вообще плохая идея, и когда имеет...

76
Что такое «затененная» зависимость Java?

Разработчик JVM здесь. В последнее время я видел подшучивание в чатах IRC и даже в моем собственном офисе о так называемых « затененных » библиотеках Java. Контекст использования будет примерно таким: « Такой и так предоставляет« затененный »клиент для XYZ ». Прекрасным примером является проблема...

76
Должны ли временные файлы быть сохранены в / tmp или текущем рабочем каталоге?

У меня есть программа, которая должна создавать временные файлы. Написано для кластерных машин. Если я сохранял эти файлы во системном временном каталоге (например:) /tmp, некоторые пользователи жаловались на сбой программы, поскольку у них не было надлежащего доступа к / tmp. Но если я сохранил...

76
Почему арифметическое переполнение игнорируется?

Вы когда-нибудь пытались суммировать все числа от 1 до 2 000 000 на вашем любимом языке программирования? Результат легко вычислить вручную: 2 000 001 000 000, что примерно в 900 раз превышает максимальное значение 32-разрядного целого числа без знака. C # распечатывает -1453759936- отрицательное...

76
Как я могу сделать вызов с булевой очисткой? Булева ловушка

Как отмечено в комментариях @ benjamin-gruenbaum, это называется булевой ловушкой: Скажем, у меня есть такая функция UpdateRow(var item, bool externalCall); и в моем контроллере это значение externalCallвсегда будет TRUE. Каков наилучший способ вызвать эту функцию? Я обычно пишу UpdateRow(item,...

75
Когда оптимизация не преждевременна и, следовательно, не является злом?

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

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

Недавно меня наняли в большую компанию (тысячи людей, чтобы дать представление о размере). Они сказали, что наняли меня из-за моей строгости и потому, что я, несмотря на свою молодость (мне 25 лет), имел опыт работы программистом на C / C ++. Теперь, когда я нахожусь внутри, я вижу, что вся система...

75
Есть ли смысл включать «журнал изменений» в каждый файл кода, когда вы используете контроль версий?

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

75
Каков наилучший способ стимулировать команду разработчиков? [закрыто]

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

75
Где все шаблоны проектирования функционального программирования? [закрыто]

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