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

160
Что не так с циклическими ссылками?

Сегодня я участвовал в дискуссии по программированию, где сделал несколько заявлений, в которых аксиоматически предполагалось, что циклические ссылки (между модулями, классами и т. Д.), Как правило, плохие. Как только я закончил свою работу, мой коллега спросил: «Что не так с круговыми ссылками?» У...

160
Есть ли конкретная причина плохой читаемости синтаксиса регулярных выражений?

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

159
Windows Azure против Amazon EC2 против Google App Engine

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

158
Как я могу убедить руководство справиться с техническим долгом?

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

158
Почему важно, что HTML и CSS не являются языками программирования?

Пример здесь: Какие языки мне следует знать, если я заинтересован в создании веб-приложений? Да, я понимаю, что HTML и CSS не являются тьюрингово-полными. Да, я понимаю, что это декларативные, а не императивные языки. Но почему люди всегда бьют по голове этим педантичным (и, возможно, очевидным)...

158
Чем полезны интерфейсы?

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

156
Исключения: зачем бросать рано? Зачем ловить поздно?

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

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

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

156
Хак компилятора Кена Томпсона все еще является угрозой?

Кен Томпсон Хак (1984) Кен Томпсон описал метод повреждения двоичного файла компилятора (и другого скомпилированного программного обеспечения, такого как сценарий входа в систему * nix) в 1984 году. Мне было любопытно узнать, устраняет ли современная компиляция этот недостаток безопасности или нет....

156
Если у моей команды низкий уровень квалификации, должен ли я снизить уровень своего кода? [закрыто]

Например, в JS есть общий фрагмент кода для получения значения по умолчанию: function f(x) { x = x || 'default_value'; } Этот фрагмент кода не так легко понять всем членам моей команды, так как их уровень JS низкий. Разве я не должен использовать этот трюк тогда? Это делает код менее читаемым для...

155
Схема против Common Lisp: Какие характеристики повлияли на ваш проект? [закрыто]

В StackOverflow и на этом сайте нет недостатка в расплывчатых вопросах "Scheme vs Common Lisp", поэтому я хочу сделать этот вопрос более сфокусированным. Вопрос для людей, которые закодировали на обоих языках: Во время написания кода на Схеме, какие конкретные элементы вашего опыта в Common Lisp...

155
Что такое закрытие?

Время от времени я вижу упомянутое «замыкание», и я пытался найти его, но Вики не дает объяснения, которое я понимаю. Может ли кто-нибудь помочь мне

155
Мой начальник хочет построчно изложить английское объяснение нашего кода

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

154
Используется ли моя работа над тестом для разработчиков? [закрыто]

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

154
В чем преимущество карри?

Я только что узнал о карри, и хотя я думаю, что понимаю концепцию, я не вижу большого преимущества в ее использовании. В качестве тривиального примера я использую функцию, которая добавляет два значения (написано в ML). Версия без карри будет fun add(x, y) = x + y и будет называться add(3, 5) в то...

153
Это только я, или это вопрос технического интервью? [закрыто]

Фон Меня просто попросили в техническом интервью написать алгоритм для прохождения «объекта» (обратите внимание на кавычки), где A равно B, а B равно C, а A равно C. Вот и все. Это вся информация, которую мне дали. Я спросил интервьюера, какова была цель, но, видимо, ее не было, просто «пересек»...

152
Как я могу найти хороший проект с открытым исходным кодом, чтобы присоединиться? [закрыто]

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

152
Необычно ли для небольшой компании (15 разработчиков) не использовать управляемый источник / контроль версий? [закрыто]

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

151
Был ли язык программирования C считаться языком низкого уровня, когда он вышел?

В настоящее время C считается языком низкого уровня , но еще в 70-х он считался языком низкого уровня? Был ли термин даже в употреблении тогда? Многие популярные языки более высокого уровня не существовали до середины 80-х и далее, поэтому мне интересно, изменилась ли природа низкого уровня за эти...

151
Что такое антикоррупционный слой и как он используется?

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