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

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

10
Помогает ли разделение потенциально монолитного приложения на несколько более мелких приложений предотвратить ошибки? [закрыто]
Другой способ спросить это; почему программы имеют тенденцию быть монолитными? Я думаю о чем-то вроде пакета анимации, такого как Maya, который люди используют для различных рабочих процессов. Если бы возможности анимации и моделирования были разделены на их собственное отдельное приложение и разрабатывались отдельно, а файлы передавались между ними, разве им …

6
Что может быть недостатком для определения класса как подкласса списка самого себя?
В моем недавнем проекте я определил класс со следующим заголовком: public class Node extends ArrayList<Node> { ... } Однако, после обсуждения с моим профессором CS, он заявил, что урок будет «ужасным для памяти» и «плохой практикой». Я не обнаружил, что первое особенно верно, а второе субъективно. Мое обоснование такого использования …

4
Что делать с заброшенными проблемами в GitHub?
Если кто-то открывает проблему на GitHub, но запрашивается дополнительная информация, чтобы воспроизвести ошибку и никогда не сообщается, какова обычная процедура? Пример . Здесь автор утверждает, что «навигация разбивает». Хотя я полагаю, что это исправлено, я хотел бы, чтобы от автора было сказано, что мы говорим об одном и том же. …

16
Должен ли я переместить условие разрыва в поле условия, если это возможно, внутри цикла for? [закрыто]
Иногда мне нужны циклы, которые нуждаются в перерыве: for(int i=0;i<array.length;i++){ //some other code if(condition){ break; } } Мне неудобно писать if(condition){ break; } потому что он потребляет 3 строки кода. И я обнаружил, что цикл можно переписать так: ↓ for(int i=0;i<array.length && !condition;i++){ //some other code } Поэтому мой вопрос …

8
Когда НЕ использовать виртуальные деструкторы?
Я полагал, что много раз искал о виртуальных деструкторах, большинство упоминало назначение виртуальных деструкторов и почему вам нужны виртуальные деструкторы. Также я думаю, что в большинстве случаев деструкторы должны быть виртуальными. Тогда возникает вопрос: почему с ++ не устанавливает все виртуальные деструкторы по умолчанию? или в других вопросах: Когда мне …

6
Насколько безопасны скрытые запросы AJAX, которые имитируют производительность?
Что такое скрытый запрос AJAX? Я заметил увеличение использования скрытых запросов AJAX, предназначенных для немедленного выполнения действий пользователя. Я буду называть этот тип запроса AJAX неблокирующим. Это AJAX-запрос, выполненный без уведомления пользователя, что он выполняется, он выполняется в фоновом режиме и работает тихо ( нет подробного указания на успешное завершение …

1
Что именно означает условие в лицензии MIT?
Чтобы процитировать саму лицензию: Copyright (C) [год] [правообладатели] Настоящим предоставляется бесплатное разрешение любому лицу, получающему копию этого программного обеспечения и связанных с ним файлов документации (далее - «Программное обеспечение»), осуществлять операции с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, слияние. публиковать, распространять, сублицензировать и / …

7
Как назвать переменную, когда слово является существительным и глаголом
Я столкнулся с проблемой в угловом случае под общим руководством: существительные для переменных глаголы для функций В частности, у меня есть случай, когда слово неоднозначно - это может быть глагол или существительное. И в некоторых случаях, когда мы обсуждаем приложение, оно будет использоваться обоими способами в одном предложении. Я намерен …
48 naming  variables 

3
Что такого уникального в Node.js? [закрыто]
В последнее время было много похвал за Node.js. Я не разработчик, который имел большое влияние на сетевые приложения. Исходя из моего простого понимания Nodes.js, его сила такова: у нас есть только один поток, обрабатывающий несколько соединений, предоставляющий архитектуру на основе событий. Однако, например, в Java, я могу создать только один …

8
Должен ли я ожидать, что моя команда будет обладать чем-то большим, чем базовые знания в нашей системе контроля версий?
Моя компания перешла с Subversion на Git около трех месяцев назад. У нас было предварительное уведомление за несколько недель до переключения. Поскольку я никогда раньше не использовал Git (или любую другую DVCS), я читал Pro Git и провел немного времени, раскручивая свои собственные репозитории и играя, так что, когда мы …

14
Насколько важны положительные отзывы в обзорах кода?
Важно ли указывать на хорошие части кода во время обзора кода и причины, по которым он хорош? Положительные отзывы могут быть столь же полезны как для проверяемого разработчика, так и для тех, кто участвует в обзоре. Мы проводим обзоры с помощью онлайн-инструмента, поэтому разработчики могут открывать обзоры для своего подтвержденного …

9
Можно ли узнать, какой язык программирования использует веб-сайт?
Например, stackexchange.comне спрашивая владельца сайта или Google их информацию о разработке сайта, возможно ли узнать, какой язык используется в бэкэнде? Кажется, у веб-сайта нет .extensionпанели, например, .phpкоторая может указывать, которая разработана PHP, но без расширения, как я могу это узнать?

8
LSP vs OCP / Замена Лискова VS Open Закрыть
Я пытаюсь понять твердые принципы ООП и пришел к выводу, что у LSP и OCP есть некоторые сходства (если не сказать больше). принцип открытого / закрытого состояния гласит, что «программные объекты (классы, модули, функции и т. д.) должны быть открыты для расширения, но закрыты для модификации». Проще говоря, LSP гласит, …

9
Стоит ли модульное тестирование или разработка через тестирование?
Моя команда на работе переходит на Scrum, а другие команды начинают разработку, основанную на тестировании, используя модульные тесты и приемочные тесты пользователей. Мне нравятся UAT, но я не продаю юнит-тестирование для разработки на основе тестирования или разработки на основе тестирования в целом. Кажется, что написание тестов - это дополнительная работа, …

4
Почему итераторы в Python вызывают исключение?
Вот синтаксис для итераторов в Java (несколько похожий синтаксис в C #): Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Что имеет смысл. Вот эквивалентный синтаксис в Python: it = iter(sequence) while True: try: value = it.next() except StopIteration: break print(value) Я думал, что исключения должны были использоваться только …

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