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

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

4
Используйте сервисный уровень с MVC
Если контроллер становится слишком толстым, а инстанцирование модели начинает складываться, можно использовать сервисный уровень. Если я просто оберну логику внутри класса сервиса, я получу кучу сервисов с одним / двумя методами. Это похоже на запах кода. Какие-либо лучшие практики в этом отношении? Может ли сервис создавать экземпляры моделей? Если служба …
13 mvc  services 

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

2
Что такое объект активации в JavaScript?
В данном контексте выполнения объект Variable является объектом Activation этого контекста выполнения. Из моего онлайн-исследования я могу найти предыдущее предложение, перефразированное по-разному, но никто не может сказать, что это такое. Что такое объект активации?

2
Действительно ли объявление полей в классах вредно для PHP?
Рассмотрим следующий код, в котором сеттер преднамеренно нарушен из-за обыденной ошибки программирования, которую я несколько раз делал в прошлом: <?php class TestClass { private $testField; function setField($newVal) { $testField = $newVal; // deliberately broken; should be `$this->testField = $newVal` } function getField() { return $this->testField; } } $testInstance = new …
13 php 

4
Является ли инъекция зависимости вручную лучшей альтернативой композиции и полиморфизму?
Во-первых, я программист начального уровня; На самом деле, я заканчиваю степень AS с финальным замковым проектом в течение лета. На моей новой работе, когда у меня нет какого-то проекта (они ждут, чтобы заполнить команду новыми сотрудниками), мне дали книги для чтения и обучения, пока я жду - одни учебники, другие …

6
Что считается наилучшей практикой для печати использования / справки (--help)?
Когда я пишу инструменты для CLI UNIX, как мне заставить программу распечатывать справку и / или использование? Я обычно использую fprintf(stderr, "help text here");, но есть несколько проблем с этим. Во-первых, я не уверен, стоит ли мне пользоваться stderr. Это нормально, или я должен использовать stdout? Как вы можете себе …

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

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

2
Как вы справляетесь с изменениями базы данных?
Сегодня мы обсуждали методы развертывания баз данных, у нас было несколько недавних сбоев в нашем текущем процессе и мы видели ситуации, когда мы хотели бы откатить развертывание, но старая версия приложения никогда не тестировалась на соответствие новой версии база данных. С одной стороны, есть развертывания в стиле миграции, где у …
13 database 

2
Как я могу использовать свои навыки кодирования навсегда?
К этой осени мои два небольших веб-сайта должны приносить около 1200 долларов в месяц с минимальным / нулевым вкладом, которого мне достаточно, чтобы жить достаточно комфортно. Вместо того, чтобы начинать другое деловое предприятие, я хотел бы провести следующие несколько лет, делая кое-что действительно хорошее или это помогает другим людям, которые …
13 c#  java  php  javascript  jquery 

3
Отношения с клиентами в гибкой разработке
Мой менеджмент только что задал беспрецедентный вопрос в моей (по общему признанию) истории с организацией: «Что мы можем сделать, чтобы помочь вам?» Одновременно мы работаем над несколькими крупными проектами для довольно нового клиента, чья способность выдвигать требования в середине проекта является легендой. Развиваться для этих парней - все равно что …

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

1
В чем разница между управляемым событиями и источником событий?
Я изучаю предметно-ориентированное проектирование (DDD) и натолкнулся на термины: Event Driven и Event Sourcing. Я знаю, что это публикация события от производителя к потребителю и хранение журнала, поэтому мой вопрос: В чем разница между управляемым событиями и источником событий?

8
Является ли интерфейс, предоставляющий асинхронные функции, утечкой абстракции?
Я читаю книгу « Принципы, практики и модели внедрения зависимостей» и читаю концепцию утечки абстракций, которая хорошо описана в книге. В эти дни я делаю рефакторинг базы кода C #, используя внедрение зависимостей, так что вместо блокирующих используются асинхронные вызовы. Поступая так, я рассматриваю некоторые интерфейсы, которые представляют абстракции в …

2
В DDD доменная служба по сути является просто шаблоном фасада и / или посредника?
В домене, управляемом дизайном, уровень домена может иметь несколько (традиционных) сервисов. Например, для пользовательского домена мы можем иметь: UserFactory, который строит объекты User различными способами. UserRepository, который отвечает за взаимодействие со службами постоянства на уровне инфраструктуры Является ли UserService на уровне домена просто посредником и / или фасадом для этих …

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