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

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

5
Чистая архитектура: вариант использования, содержащий докладчика или возвращающие данные?
Чистая Архитектура предлагает позволить случай использования Interactor назвать фактическую реализацию ведущих (который вводится, после DIP) для обработки ответа / дисплея. Тем не менее, я вижу людей, реализующих эту архитектуру, возвращающих выходные данные из интерактора, а затем позволяющих контроллеру (на уровне адаптера) решать, как с ним работать. Является ли второе решение …

2
Является ли производительность единственной причиной не использовать SignalR (websockets) полностью вместо традиционного REST API?
Я использовал SignalRдля достижения функциональности обмена сообщениями в реальном времени в нескольких из моих проектов. Кажется, он работает надежно и очень прост в освоении. Искушение, по крайней мере для меня, состоит в том, чтобы отказаться от разработки сервиса Web API и использовать его SignalRдля всего. Я чувствую, что это может …

6
Производит ли переводчик машинный код?
Я интенсивно изучаю темы составителей и интерпретаторов. Я хочу проверить правильность моего базового понимания, поэтому давайте предположим следующее: У меня есть язык под названием "Foobish", и его ключевые слова <OUTPUT> 'TEXT', <Number_of_Repeats>; Поэтому, если я хочу вывести на консоль 10 раз, я бы написал OUTPUT 'Hello World', 10; Привет World.foobish-файл. …

8
Начинаете предложение с имени функции? [закрыто]
Иногда, набирая что-то, относящееся к регистрозависимому языку программирования, я заканчиваю тем, что начинаю предложение с имени функции. Теперь правила английского языка гласят, что первое слово в предложении должно быть написано с большой буквы; хотя имя функции строчное Если вам интересно, что я могу сказать, что в результате первое слово будет …
42 functions 

10
Почему ваш код не должен использовать 100% CPU? [закрыто]
Я говорю конкретно о программе на C # .NET 4, работающей на Windows XP или выше, но общие ответы также приемлемы. Предположим, уже оптимизированная и эффективная программа. Проблема здесь полностью связана с влиянием высокой загрузки ЦП на аппаратное обеспечение, а также с тем, нужно ли регулировать программу с высокой нагрузкой …
42 c#  multithreading  cpu  usage 

3
Существуют ли числа, которые не представлены в базе 10, но могут быть представлены в базе 2?
C#имеет decimalтип, который используется для чисел, которые нуждаются в точном представлении в базе 10. Например, 0.1не может быть представлен в базе 2 (например, floatи double) и всегда будет приближенным при хранении в переменных этих типов. Мне было интересно, возможен ли обратный факт. Существуют ли числа, которые не могут быть представлены …

9
Программирование для будущего использования интерфейсов
Рядом со мной сидит коллега, который разработал такой интерфейс: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Проблема в том, что сейчас мы не используем этот «конечный» параметр где-либо в нашем коде, он просто есть, потому что нам, возможно, придется использовать его …

6
Какова роль ведущего разработчика в гибкой команде?
В не-гибкой команде разработчиков ведущий разработчик обычно : Устанавливает стандарт (кодирование и другое) Исследует новые технологии для команды Устанавливает техническое направление для команды Имеет последнее слово по вопросам Проектирует архитектуру системы Однако гибкая команда работает по-другому: Гибкая команда будет полагаться на возникающий дизайн, а не на первый план Гибкая команда …

2
Синхронизация данных в мобильных приложениях - несколько устройств, несколько пользователей
Я смотрю на создание моего первого мобильного приложения. Одной из основных функций приложения является то, что несколько устройств / пользователей будут иметь доступ к одним и тем же данным - и все они будут иметь права CRUD. Я считаю, что архитектура должна включать центральный сервер, на котором хранятся все данные. …
42 database  mysql  data  mobile 

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

8
Какова реальная ответственность класса?
Я продолжаю задаваться вопросом, является ли законным использование глаголов, основанных на существительных в ООП. Я наткнулся на эту блестящую статью , хотя я все еще не согласен с тем, что она делает. Чтобы объяснить проблему чуть подробнее, в статье говорится, что не должно быть, например, FileWriterкласса, но поскольку написание является …

7
Как мне прекратить разработку и начать проектирование этого проекта, как это было предложено моим руководителем? [закрыто]
Я младший разработчик (~ 3 года опыта), и на моей работе мы находимся в процессе разработки новой системы. Мой ведущий разработчик будет главным архитектором, однако он бросил мне вызов попробовать самостоятельно спроектировать систему (параллельно). В течение нескольких итераций мозгового штурма идей и предложения того, что я видел как предложения по …


10
Это хорошая идея запланировать регулярное время для очистки кода? [закрыто]
Я управляю небольшой командой разработчиков. Время от времени мы решаем, что потратим день или два, чтобы очистить наш код. Было бы неплохо запланировать регулярное время, скажем, 1 неделю каждые 2 месяца, чтобы просто очистить нашу кодовую базу?

6
Почему Facebook конвертирует код PHP в C ++? [закрыто]
Я читал, что Facebook начинался на PHP, а затем, чтобы набрать скорость, теперь он компилирует PHP как код C ++. Если это так, почему бы им не Просто программа на с ++? Конечно, должны быть НЕКОТОРЫЕ ошибки / ошибки при нажатии волшебной кнопки компилятора, которая портирует PHP на код C …
42 c++  php  compiler  facebook 

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