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

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

11
Объявление интерфейса в том же файле, что и базовый класс, это хорошая практика?
Чтобы быть взаимозаменяемыми и тестируемыми, обычно сервисы с логикой должны иметь интерфейс, например public class FooService: IFooService { ... } Что касается дизайна, я согласен с этим, но одна вещь, которая беспокоит меня при таком подходе, заключается в том, что для одного сервиса вам нужно объявить две вещи (класс и …

3
Как «взять на себя» проект с открытым исходным кодом?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . Есть проект с открытым исходным кодом, который мне интересен и которым я регулярно пользуюсь. Он лицензирован под Apache License 2.0 и больше не работает. Он размещен на …

9
Наименование интерфейса: префикс 'Can-' vs суффикс '-Able'
Обычно в качестве суффикса для интерфейсов используется «-able», например Сериализуемый Печатный Enumerable Питьевой Shootable Вращающийся Я думал, что «может» может быть лучше, потому что это может быть более наглядным. Да, это более многословно, и это добавляет шум к имени интерфейса. В частности, могут использоваться пассивные глаголы. Например, 1 означает «Стреляющий» …
29 api  interfaces 

7
Этично ли использовать личный код на работе?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 8 лет назад . Я работаю над сторонним проектом на работе, где я нахожу полезным использовать часть своего кода, который я разработал лично (вне работы), чтобы ускорить мою разработку. Мой сторонний …

8
Разумно ли запускать процессы с помощью инструментов CI?
В моей компании мы сталкиваемся с множеством разрозненных заданий cron (на нескольких системах) и запускаем вручную процессы, которые поддерживают функционирование нашего бизнеса, что является результатом многолетнего целесообразного развития и последующего игнорирования. Когда-нибудь нам понадобится найти более централизованное решение по очевидным причинам. Одна мысль, которую мы обсуждали, - это использовать наше …

10
Я не могу программировать, потому что код, который я использую, использует старые стили кодирования. Это нормально для программистов?
У меня есть первая настоящая работа программистом, но я не могу решить никаких проблем из-за используемого стиля кодирования. Код здесь: Не имеет комментариев Не имеет функций (50, 100, 200, 300 или более строк, выполняемых последовательно) Использует много ifутверждений с множеством путей Имеет переменные , которые не имеют никакого смысла (например …

7
Есть ли веская причина избегать node.js для веб-приложений не в реальном времени?
Я видел много разговоров о том, насколько классным является Node.js для веб-приложений реального времени - вещи, для которых нужны сокеты, Comet, AJAX-интенсивная связь и так далее. Я знаю, что его асинхронная, управляемая событиями модель, управляемая событиями, также хороша для параллелизма с низкими издержками. Я также видел учебники по Node.js для …

3
Является ли Entity Framework Code First несколько бессмысленным / бесполезным в производстве, и какова хорошая стратегия EF для производства?
Недавно я программировал с использованием Entity Framework 4.1 Code First, и мне очень нравится его разработка, но, имея только конечный план и быстро меняющийся список функций, я постоянно изменяю класс / базу данных в соответствии с потребностями приложений. В разработке нет живых данных, и я могу легко удалить всю базу …


10
Являются ли «ошибки» в дизайне плохим знаком?
Является ли это плохим признаком, если пользователи отправляют отчеты об ошибках для вещей, которые разработаны? Означает ли это, что приложение сбивает с толку или неясно, или я должен просто объяснить это единственной ошибкой пользователя, если не указано иное? (На самом деле у меня нет таких отчетов. Это чисто гипотетический вопрос …
29 bug  users 

4
Лучшая практика юнит тестирования юнитов
В последние годы я писал только небольшие компоненты для людей в более крупных проектах или небольших инструментах. Я никогда не писал модульных тестов, и мне всегда кажется, что их нужно учить, а на самом деле их создание занимает гораздо больше времени, чем просто запуск программы и тестирование на самом деле. …

14
Почему форматирование кода не является более распространенным?
Я читал Code Complete и в главе, посвященной макету и стилю, он предсказывал, что редакторы кода будут использовать какое-то форматированное форматирование текста. Это означает, что вместо кода, похожего на этот Procedure ResolveCollisions { Performs a posteriori collision resolution through spatial partitioning algoritm } ( CurrentMap : SpriteContext, PotentialColliders: SpriteList ) …

3
Как продвигать проект с открытым исходным кодом?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 8 лет назад . Прежде всего, я прошу прощения, если это неправильный раздел сети, чтобы отправить этот вопрос. Если это так, пожалуйста, не стесняйтесь переместить его в более подходящее место ... …

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

6
Использование языка программирования в Google [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Я слышал, что Google использует Python, Java и C ++. Но я …

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