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

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

6
Как разбить программный проект на задачи для других разработчиков? [закрыто]
Я недавно присоединился к проекту разработки, и мне неожиданно дали работу ведущего разработчика. Моя основная обязанность - разбить программную часть проекта на задачи, передать эти задачи другим разработчикам, а затем убедиться, что части работают вместе. Проблема в том, что я понятия не имею, как это сделать. Я провел свои выходные …

12
Когда использовать C над C ++ и C ++ над C?
Я познакомился с информатикой чуть более года назад, и из моего опыта кажется, что C и C ++ считаются «сверхбыстрыми» языками, тогда как другие, такие как Python и такие языки сценариев, обычно считаются несколько более медленными. , Но я также видел много случаев, когда программный проект или даже небольшой проект …
164 c++  c 

17
Почему неполный рабочий день в программировании является аномалией? [закрыто]
Недавно я уволился с работы по разработке в мега-корпорации и решил, что буду искать работу с частичной занятостью. С тех пор я разговаривал с полдюжиной потенциальных работодателей, и у каждого из них была та же самая реакция, когда я сказал волшебные слова «неполный рабочий день» - они все замкнулись и …
164 organization 

19
Есть ли причина использовать C ++ вместо C, Perl, Python и т. Д.? [закрыто]
Как разработчик Linux (на стороне сервера), я не знаю, где и почему я должен использовать C ++. Когда я иду на выступление, первый и последний выбор - C. Когда «производительность» не является главной проблемой, языки программирования, такие как Perl и Python, были бы хорошим выбором. Почти все приложения с открытым …

9
Почему я должен использовать фабричный класс вместо прямого создания объекта?
Я видел историю нескольких проектов библиотек классов С # и Java на GitHub и CodePlex, и я вижу тенденцию перехода к фабричным классам в отличие от непосредственного создания объектов. Почему я должен широко использовать фабричные классы? У меня есть довольно хорошая библиотека, где объекты создаются старомодным способом - путем вызова …

3
Почему HTTP не имеет перенаправления POST?
HTTP-перенаправления выполняются с помощью HTTP-кодов 301 и 302 (возможно, также других кодов) и поля заголовка, известного как «Location», в котором есть адрес нового места для перехода. Однако браузеры всегда отправляют запрос «GET» на этот URL. Однако часто вам нужно перенаправить пользователя в другой домен через POST (например, банковские платежи). Это …

26
Постоянно ищет примеры кода признак плохого разработчика? [закрыто]
Я студент CS с несколькими годами опыта в C и C ++, и в течение последних нескольких лет я постоянно работал с Java / Objective C, занимаясь разработкой приложений, и теперь я переключился на веб-разработку и в основном сосредоточен на ruby ​​на rails и я пришли к выводу, что (как …

24
Элегантные способы справиться, если (если еще) еще
Это небольшая проблема, но каждый раз, когда мне приходится кодировать что-то вроде этого, повторение беспокоит меня, но я не уверен, что какое-либо из решений не хуже. if(FileExists(file)) { contents = OpenFile(file); // <-- prevents inclusion in if if(SomeTest(contents)) { DoSomething(contents); } else { DefaultAction(); } } else { DefaultAction(); } …

22
Являются ли нулевые ссылки действительно плохой вещью?
Я слышал, что включение нулевых ссылок в языки программирования является «ошибкой в ​​миллиард долларов». Но почему? Конечно, они могут вызывать NullReferenceExceptions, но что с того? Любой элемент языка может быть источником ошибок при неправильном использовании. И какая альтернатива? Я полагаю, вместо того, чтобы сказать это: Customer c = Customer.GetByLastName("Goodman"); // …

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

8
Разработка веб-приложений для долгой жизни (20+ лет)
В настоящее время я занимаюсь разработкой веб-приложения для государственного землеустройства. Приложение работает в основном в браузере, используя ajax для загрузки и сохранения данных. Я сделаю начальную разработку, а затем закончу (это работа для студентов). После этого остальная часть команды будет добавлять случайные функции по мере необходимости. Они знают, как кодировать, …

10
Есть ли конкретная причина плохой читаемости синтаксиса регулярных выражений?
Все программисты, похоже, согласны с тем, что читаемость кода гораздо важнее, чем однострочные с коротким синтаксисом, которые работают, но требуют, чтобы старший разработчик интерпретировал их с какой-то степенью точности - но, похоже, именно так были разработаны регулярные выражения. Была ли причина для этого? Мы все согласны с тем, что selfDocumentingMethodName()гораздо …

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.