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

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

6
Какие специальные символы следует разрешить для номера телефона?
Поэтому я разрабатываю веб-страницу, которая будет использоваться для глобальных пользователей, включая пользователей из Канады, США, Индии, Великобритании и т. Д. Мне нужно применить проверки для этого поля телефонного номера, но я не уверен, что лучший способ сделать это , Вот некоторые из допустимых форматов: 1800123456 (Индия) использование "-" в номерах …

7
Лицензия на программное обеспечение: с открытым исходным кодом, но без распространения (бесплатно или для получения прибыли)
Я написал программу на PHP. Я хочу, чтобы люди могли использовать этот код для обучения и даже включать биты в свои собственные приложения, но я также хочу сохранить право продавать его и дать понять, что другие не должны распространять копии ни бесплатно, ни с целью получения прибыли. Я не использовал …
20 licensing 

9
Достаточно ли 'if password == XXXXXXX' для минимальной безопасности?
Если я создаю логин для приложения со средним или низким уровнем безопасности (другими словами, это не банковское приложение или что-то еще), могу ли я подтвердить пароль, введенный пользователем, просто сказав что-то вроде: if(enteredPassword == verifiedPassword) SendToRestrictedArea(); else DisplayPasswordUnknownMessage(); Кажется, легко быть эффективным, но я, конечно, не возражал бы, если бы …

11
Как идут первые книги? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
20 books 

4
Что вы должны принести на стол в качестве архитектора программного обеспечения? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . Было много вопросов с хорошими ответами о роли Software Architect (SA) в StackOverflow и Programmers SE . …

3
Как мне предоставить дополнительную информацию об исключении?
Каждый раз, когда мне нужно предоставить дополнительную информацию об исключении, я задаюсь вопросом, какой способ действительно является правильным . Ради этого вопроса я написал пример. Давайте предположим, что есть класс, где мы хотим обновить Abbreviationсвойство. С точки зрения SOLID это может быть не идеально, но даже если мы передадим рабочий …
20 c#  exceptions 

2
В git плохая идея создать тег с тем же именем, что и удаленная ветка?
У меня есть проект с моделью git-ветвления, который примерно соответствует модели gv-потока nvie . Наши ветки релизов названы в формате SemVer , напримерv1.5.2 Как только ветвь релиза получает зеленый свет для производства, мы закрываем ветвь, объединяя ее с master, применяя тег, а затем удаляя ветку. Поскольку мы немедленно удаляем ветку …

1
Дублирование документации по реализации / переопределениям интерфейса хорошо или плохо?
Итак, у нас есть такой интерфейс /// <summary> /// Interface for classes capable of creating foos /// </summary> public interface ICreatesFoo { /// <summary> /// Creates foos /// </summary> void Create(Foo foo); /// <summary> /// Does Bar stuff /// </summary> void Bar(); } Недавно мы воспроизвели документацию, в которой рассказывалось …

4
Почему бы не использовать SQL вместо GraphQL?
Недавно я узнал о GraphQL, который утверждает, что превосходит RESTful. Тем не менее, я начал задаваться вопросом, почему бы нам просто не поместить операторы SQL в запрос HTTP GET. Например, в GraphQL я бы написал { Movie(id: "cixos5gtq0ogi0126tvekxo27") { id title actors { name } } } Что не намного …

5
Передача аргументов как ссылок на const преждевременная оптимизация?
«Преждевременная оптимизация - корень всего зла» Я думаю, что с этим мы все можем согласиться. И я очень стараюсь избегать этого. Но в последнее время меня интересует практика передачи параметров по константной ссылке, а не по значению . Меня учили / учили, что аргументы нетривиальных функций (то есть большинство не …

8
Должны ли быть утверждения в сборках релиза
Поведение по умолчанию assert в C ++ - ничего не делать в сборках релиза. Я предполагаю, что это сделано из соображений производительности и, возможно, чтобы пользователи не видели неприятных сообщений об ошибках. Однако я бы поспорил, что те ситуации, когда an сработал assertбы, но был отключен, еще более проблематичны, потому …

1
Какова история именования констант в верхнем регистре?
Какова история условного обозначения констант в верхнем регистре? Моя интуиция заключается в том, что это началось с препроцессора C, где люди разработали практику именования макросов препроцессора в верхнем регистре, чтобы они эффективно жили в отдельном пространстве имен и избегали конфликтов имен. Я считаю, что эта практика была затем неправильно и …

3
Должны ли обертки сравниваться как равные с использованием оператора ==, когда они переносят один и тот же объект?
Я пишу оболочку для элементов XML, которая позволяет разработчику легко анализировать атрибуты из XML. Оболочка не имеет никакого состояния, кроме объекта, который оборачивается. Я рассматриваю следующую реализацию (упрощенную для этого примера), которая включает перегрузку для ==оператора. class XmlWrapper { protected readonly XElement _element; public XmlWrapper(XElement element) { _element = element; …
19 c#  .net  operators 

6
Как вы это называете, когда изменяете время выполнения Big O функции [closed]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто в прошлом году . Допустим, у меня есть функция, которая сортирует базу данных по O(n^2)времени. Я хочу провести …
19 complexity  big-o 

5
AntiPattern использует классы *** Helper или *** Util, содержащие только статические методы
Я часто сталкиваюсь с вспомогательными или утилитарными классами на Java или на любом другом языке. Поэтому я спрашивал себя, не является ли это своего рода Anti Pattern, а существование таких классов - просто отсутствие недостатков в дизайне и архитектуре программного обеспечения. Часто эти классы ограничиваются использованием только статических методов, которые …

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