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

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

5
Понимание разницы ветвей между SVN и Git
Я пользователь SVN и сейчас изучаю Git. В SVN я обычно оформляю репо на своей локальной машине, который включает все ветви в моем проекте, и я обычно выбирал папку для своей ветки, которая мне интересна, и работал там. Я вижу разницу с помощью Git. В настоящее время я клонирую репо …
44 git  github 

3
Чистая архитектура дяди Боба - класс сущности / модели для каждого слоя?
ЗАДНИЙ ПЛАН : Я пытаюсь использовать чистую архитектуру дяди Боба в моем приложении для Android. Я изучил много проектов с открытым исходным кодом, которые пытаются показать правильный способ сделать это, и я нашел интересную реализацию, основанную на RxAndroid. Что я заметил В каждом слое (презентация, домен и данные) есть класс …

8
Автоматически возвращать коммиты, которые не дают сборки
Один мой коллега сказал мне , что он думает , в создании нашего CI сервер , чтобы вернуться фиксаций , которые не строить, так что HEADв masterвсегда устойчиво (как при прохождении сборки по крайней мере). Это лучшая практика, или она может быть более проблематичной, чем просто masterсломаться, пока разработчик не …

4
Почему разработчики на C # открывают новые скобки? [закрыто]
Я провел большую часть последних нескольких лет, работая в основном с C # и SQL. Каждый программист, с которым я работал за это время, имел обыкновение помещать открывающую скобку функции или оператора управления потоком в новую строку. Так ... public void MyFunction(string myArgument) { //do stuff } if(myBoolean == true) …
44 java  c#  javascript  syntax 

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

2
Как бы вы внедрили Google Search? [закрыто]
Предположим, вас спросили в интервью "Как бы вы внедрили Поиск Google?" Как бы вы ответили на такой вопрос? Там могут быть ресурсы, которые объясняют, как реализованы некоторые части в Google (BigTable, MapReduce, PageRank, ...), но это не совсем подходит для интервью. Какую общую архитектуру вы бы использовали, и как бы …

3
Булев метод именования положительный против отрицательного
Должны ли булевы методы всегда принимать утвердительную форму, даже если они будут использоваться только в отрицательной форме? Скажем, я хотел проверить, существует ли сущность, прежде чем создавать ее, я утверждаю, что первая форма ниже лучше второй формы, независимо от того, используется ли метод когда-либо в утвердительной форме. В итоге, мне …
44 naming  functions 

3
Как правильно сделать сложный метод поиска RESTful?
Следуя принципам REST, я бы хотел создать метод GET для моего API, который выполняет поиск по некоторым критериям и возвращает результаты клиенту. Проблема в том, что критерии могут иметь до 14 параметров, один из которых - список сложных объектов, поэтому ... Я даже не знаю, возможно ли кодировать / декодировать …
44 rest  api 

18
Что доказано как хорошая максимальная длина функции? [закрыто]
Влияет ли длина функции на производительность программиста? Если да, то какое максимальное количество строк нужно избежать, чтобы избежать потери производительности? Так как это очень мнительная тема, пожалуйста, подкрепите заявку некоторыми данными.

3
Это плохая практика, что хранилище вызовов контроллера вместо службы?
Это плохая практика, что хранилище вызовов контроллера вместо службы? объяснить больше: Я выяснил, что в хорошем дизайне контроллеры называют сервис, а сервис используют репозиторий. но иногда в контроллере у меня нет / нужна какая-то логика и мне просто нужно извлечь из базы данных и передать ее для просмотра. и я …

7
Является ли использование имен параметров, которые отличаются от имен типов только регистром, плохой практикой в ​​C #?
Я вижу подобные вопросы в отношении имен параметров, которые соответствуют свойствам класса, но я не могу найти ничего относительно использования имени параметра, совпадающего с именем типа параметра, за исключением случая в C #. Кажется, это не нарушение, которое я могу найти, но считается ли это плохой практикой? Например, у меня …

7
Скрам несовместим с публичными тендерами?
Общественная организация попросила меня провести неофициальный семинар по 101 гибкой разработке, объясняющий термины и концепции Scrum, Kanban и тому подобное. Я работаю в гибкой среде около пяти лет, но я не считаю себя евангелистом Scrum. После семинара им понравилась идея. Тем не менее, они объяснили, что этот подход, вероятно, не …

7
При программировании, возможно ли, чтобы загрузка процессора и графического процессора составляла 100%?
Это общий вопрос по теме, которую я нахожу интересной для геймера: узкие места CPU / GPU и программирование. Если я не ошибаюсь, я понял, что и CPU, и GPU вычисляют вещи, но в одних вычислениях это лучше, чем в других из-за разницы в архитектуре. Например, взлом хэшей или майнинг криптовалюты, …

10
Как модульные тесты облегчают дизайн?
Наш коллега продвигает написание модульных тестов, поскольку на самом деле помогает нам дорабатывать дизайн и реорганизовывать вещи, но я не понимаю, как это сделать. Если я загружаю файл CSV и анализирую его, как модульный тест (проверка значений в полях) поможет мне проверить мой дизайн? Он упомянул связность и модульность и …

11
Являются ли так называемые «сквозные проблемы» действительным поводом для нарушения SOLID / DI / IoC?
Мои коллеги любят говорить «ведение журнала / кеширование и т. Д. - сквозная проблема», а затем везде использовать соответствующий синглтон. Все же они любят IoC и DI. Действительно ли это оправданное нарушение принципа SOLI D ?

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