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

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

11
Сколько шаблонов проектирования и уровней абстракции необходимо? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 2 года назад . Как я могу сказать, что в моем программном обеспечении слишком много абстракций …

1
Как называется анонимная функция JavaScript, которая вызывается немедленно?
Я пишу руководство по стилю JavaScript для моей команды, чтобы мы могли упростить организацию и предоставление документов. Но я столкнулся с небольшим ударом, к которому относится мой вопрос ... Что я должен вызывать анонимную функцию JavaScript, которая вызывается немедленно. Я знаю, что могу просто назвать это «анонимной функцией», но я …

8
Допустимо ли копировать и вставлять длинный, но простой код вместо того, чтобы помещать их в класс или функцию?
Предположим, у меня есть сегмент кода для подключения к Интернету и отображения результатов подключения, например: HttpRequest* httpRequest=new HttpRequest(); httpRequest->setUrl("(some domain .com)"); httpRequest->setRequestType(HttpRequest::Type::POST); httpRequest->setRequestData("(something like name=?&age=30&...)"); httpRequest->setResponseCallback([=](HttpClient* client, HttpResponse* response){ string responseString=response->getResponseDataString(); if(response->getErrorCode()!=200){ if(response->getErrorCode()==404){ Alert* alert=new Alert(); alert->setFontSize(30); alert->setFontColor(255,255,255); alert->setPosition(Screen.MIDDLE); alert->show("Connection Error","Not Found"); }else if((some other different cases)){ (some other alert) …

3
Практика контроля версий для Rewrites
Мы разработали продукт (прототип) P_OLD на языке X и теперь переписываем его с нуля как P_NEW на языке Y. Поскольку P_NEW и P_OLD - это один и тот же продукт: Должен ли P_NEW быть частью P_OLD старого или это должен быть собственный репозиторий? Как обычно обрабатывать такие большие изменения с …

2
Почему строковые литералы C доступны только для чтения?
Какие преимущества строковых литералов, являющихся доступными только для чтения, оправдывают (-ies / -ied): Еще один способ выстрелить себе в ногу char *foo = "bar"; foo[0] = 'd'; /* SEGFAULT */ Невозможность элегантной инициализации массива слов для чтения и записи в одну строку: char *foo[] = { "bar", "baz", "running out …
29 c  memory  strings 

3
Почему UML не используется в большинстве свободных программ (например, в Linux)?
Я пытаюсь понять, почему UML не используется в большинстве проектов свободного программного обеспечения . Например, моя система Debian / Linux имеет, вероятно, более десяти тысяч пакетов бесплатного программного обеспечения, и я не могу назвать даже тот, который был разработан с использованием явной инфраструктуры и методологии UML. Например, Qt , GCC …

4
Новый нуль-условный оператор C # 6.0 противоречит Закону Деметры?
Закон Деметры гласит следующее: Каждый юнит должен иметь только ограниченные знания о других юнитах: только юниты, «тесно» относящиеся к текущему юниту. Каждый юнит должен разговаривать только со своими друзьями; не разговаривай с незнакомцами Поговорите только со своими непосредственными друзьями. В C # 6.0 введен новый оператор, называемый нулевым условным оператором …

2
Почему может быть сложно создать 64-битную версию программы?
В моем недолгом программировании было легко скомпилировать любой из моих C ++, Java и т. Д. Для 32- или 64-битной машины, если у меня есть полный исходный код программы. Но много программного обеспечения не выпущено 64-битных. Самое досадное, что пока нет 64-битной версии движка Unity. Что мешает компилировать некоторые программы …

6
Создать новый объект или сбросить каждое свойство?
public class MyClass { public object Prop1 { get; set; } public object Prop2 { get; set; } public object Prop3 { get; set; } } Предположим , у меня есть объект myObjectиз MyClassи мне нужно сбросить свои свойства, что лучше создать новый объект или переназначить каждое свойство? Предположим, у …

3
Хорошая универсальная система типов
Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. Общепринято, что дженерики Java не работают в некоторых важных аспектах. Комбинация подстановочных знаков и границ привела к некоторому серьезно нечитаемому коду. Однако, …

6
Можете ли вы реализовать «объектно-ориентированное» программирование без ключевого слова класса?
Скажем, мы хотим предоставить абстракцию «счета» в банке. Вот один из подходов, использующий functionобъект в Python: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if amount > dispatch['balance']: …

7
Существует ли какой-либо алгоритм алгоритма для защиты любого содержимого в Интернете, чтобы я был первым, кто его создал?
Несколько лет назад был один хакер (не помню, кто он), который полностью раскрыл уязвимость в данной системе, но чтобы убедиться, что никто не поверил в это, он создал какой-то ключ PGP. В то время я понял, что он создал ключ, чтобы убедиться, что он был тем, кто его обнаружил, но …

6
Какой компромисс для вывода типа?
Кажется, что все новые языки программирования или, по крайней мере, те, которые стали популярными, используют вывод типов. Даже Javascript получил типы и вывод типов через различные реализации (Acscript, typcript и т. Д.). Это выглядит великолепно для меня, но мне интересно, есть ли какие-то компромиссы или почему, скажем, Java или старые …

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

9
Только в теории
Чуть больше года назад мне посчастливилось взять 9-месячный перерыв в работе. Я решил, что в то время я буду оттачивать свои навыки C #. Я начал работать над кучей проектов и заставил себя следовать TDD. Это был довольно поучительный процесс. Сначала это было непросто, но со временем я научился писать …

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