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

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

13
Было бы плохой идеей периодически запускать средства форматирования кода в хранилище?
Я подумываю о создании задания cron, которое проверяет код, запускает на нем средства форматирования кода и, если что-то изменяется, фиксирует изменения и возвращает их обратно. Большинство проектов, использующих автоформаторы, помещают их в ловушку git, но выполнение этого автоматически каждые несколько часов снимет бремя для каждого разработчика при установке ловушки git. …

3
Должны ли мы включить папку Nuget PACKAGE в систему контроля версий?
я бы хотел знать В проекте C # или VB.NET мы должны включить папку PACKAGE (папку пакета nugget, которая создается в корне моего проекта, содержащего файлы nupkg и другое содержимое) в наш репозиторий контроля версий (например, Git).

17
Что я могу сделать для разработчиков, которые не могут изучать Git? [закрыто]
контекст Моя команда из 8 инженеров в настоящее время переходит на Git (из Subversion) для нашей следующей большой вещи. У нас есть горстка «более опытных» инженеров, которым очень трудно подобрать Git. Мне задают одни и те же тривиальные вопросы, несмотря на то, что я предоставил руководства пользователя, учебные мероприятия и …
68 git  gitflow 

5
Является ли хорошей практикой объявлять переменные экземпляра как None в классе в Python?
Рассмотрим следующий класс: class Person: def __init__(self, name, age): self.name = name self.age = age Мои коллеги имеют тенденцию определять это так: class Person: name = None age = None def __init__(self, name, age): self.name = name self.age = age Основная причина этого заключается в том, что выбранный им редактор …
68 python 

8
Проблемы с именами: следует ли переименовать «ISomething» в «Something»? [закрыто]
В главе «Дядя Боб» об именах в « Чистом коде» рекомендуется избегать кодировок в именах, главным образом в отношении венгерских обозначений. Он также особо упоминает удаление Iпрефикса из интерфейсов, но не показывает примеров этого. Давайте предположим следующее: Использование интерфейса в основном для достижения тестируемости через внедрение зависимостей Во многих случаях …

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

7
Написание тестов для существующего кода
Предположим, у кого-то была относительно большая программа (скажем, 900k SLOC на C #), все тщательно прокомментированы / задокументированы, хорошо организованы и работают хорошо. Вся база кода была написана одним старшим разработчиком, который больше не работает в компании. Весь код тестируется как есть, и IoC используется повсеместно - за исключением какой-то …

3
Это правильное использование метода сброса Mockito?
У меня есть закрытый метод в моем тестовом классе, который создает часто используемый Barобъект. BarКонструктор вызывает someMethod()метод в моем издевались объекта: private @Mock Foo mockedObject; // My mocked object ... private Bar getBar() { Bar result = new Bar(mockedObject); // this calls mockedObject.someMethod() } В некоторых моих тестовых методах, которые …
68 java  mocking 

5
Зачем хранить функцию внутри словаря Python?
Я новичок в питоне, и я только что изучил технику, включающую словари и функции. Синтаксис прост, и это кажется тривиальной вещью, но мои чувства питона покалывания. Что-то подсказывает мне, что это глубокая и очень питоническая концепция, и я не совсем понимаю ее важность. Может кто-нибудь дать название этой технике и …

4
Как функциональные языки обрабатывают случайные числа?
То , что я имею в виду , что это то , что в почти каждом уроке я читал о функциональных языках, является то , что одна из самых больших вещей , о функциях, в том , что при вызове функции с теми же параметрами в два раза, вы будете …

9
Должен ли Git использоваться для документации и управления проектами? Должен ли код находиться в отдельном репозитории?
Я запускаю Git-репозиторий для группового проекта. Имеет ли смысл хранить документы в том же репозитории Git, что и код - кажется, что это противоречит природе потока изменений git. Вот краткое изложение моих вопросов: Будет ли стиль редакции Git сбивать с толку, если и код, и документы проверяются в одном и …

7
Существуют ли альтернативы с открытым исходным кодом для Bitbucket, Github, Kiln и аналогичных инструментов просмотра и управления DVCS? [закрыто]
Мне известны несколько инструментов / сервисов, которые обеспечивают просмотр и управление DVCS , такие как Bitbucket , Github , Kiln , SCM-Manager и Rhodecode . Тем не менее, рассматриваемый мной вариант использования таков: Любой исходный код должен находиться на внутренних серверах работодателя. Решение должно быть с открытым исходным кодом. Он …

14
Название этого антипаттерна? Поля как локальные переменные [закрыто]
В некотором коде, который я рассматриваю, я вижу вещи, которые морально эквивалентны следующему: public class Foo { private Bar bar; public MethodA() { bar = new Bar(); bar.A(); bar = null; } public MethodB() { bar = new Bar(); bar.B(); bar = null; } } Поле barздесь является логически локальной …

22
Что вы делаете, когда сталкиваетесь с идиотским вопросом на собеседовании? [закрыто]
Я брал интервью у человека, «слишком гордого своими навыками Java». Он спросил меня: " Что ты знаешь о классах Java IO .. скажем .. хэш-карты? " Он попросил меня написать кусок java-кода на бумаге - создать экземпляр класса и вызвать один из методов экземпляра. Когда я закончил, он сказал, что …
68 interview 

9
Почему менеджер пакетов предпочитает библиотеку?
Когда я думаю о плюсах и минусах папки статической библиотеки и менеджера пакетов, я чувствую, что папка библиотеки - лучший подход. Плюсы, которые я вижу с папкой библиотеки: Нет необходимости во внешнем инструменте для управления пакетами. Нет подключения к интернету требуется построить. Быстрая сборка (без проверки пакетов). Более простая среда …

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