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

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

2
Эмпирические данные о популярности Git и Mercurial
Это 2012! Mercurial и Git все еще сильны. Я понимаю компромиссы обоих. Я также понимаю, что у всех есть какое-то предпочтение одного или другого. Отлично. Я ищу некоторую информацию об уровне использования обоих. Например, на stackoverflow.com поиск Git дает вам 12000 обращений, Mercurial - 3000. Google Trends сообщает, что для …
37 git  mercurial 

8
При использовании метода цепочки я повторно использую объект или создаю его?
При использовании метода цепочки, как: var car = new Car().OfBrand(Brand.Ford).OfModel(12345).PaintedIn(Color.Silver).Create(); может быть два подхода: Повторно используйте тот же объект, например так: public Car PaintedIn(Color color) { this.Color = color; return this; } Создавайте новый объект типа Carна каждом шаге, например так: public Car PaintedIn(Color color) { var car = new …

19
Что вы скажете в обзоре кода, когда другой человек построил слишком сложное решение? [закрыто]
На днях я просмотрел код, написанный кем-то из моей команды. Решение не было полностью функциональным, а дизайн был слишком сложным, то есть хранил ненужную информацию, создавал ненужные функции, и в основном код имел много ненужной сложности, такой как позолота, и пытался решить проблемы, которые не существуют. В этой ситуации я …

6
Является ли «Mapper» допустимым шаблоном дизайна или это вариант «Factory»?
Обычный шаблон, который я вижу, - это то, что известно как Mapperшаблон (не путать с DataMapperкоторым, что-то совсем другое), который принимает в качестве аргумента некий «необработанный» источник данных (например, ADO.NET DataReaderили DataSet) и сопоставляет поля с свойства объекта бизнес / домен. Пример: class PersonMapper { public Person Map(DataSet ds) { …

11
Как люди, занимающиеся TDD, справляются с потерей работы при проведении крупного рефакторинга
Некоторое время я пытался научиться писать модульные тесты для своего кода. Первоначально я начал делать настоящий TDD, где я не буду писать никакого кода, пока сначала не напишу провальный тест. Тем не менее, недавно у меня возникла острая проблема, которая требует большого количества кода. Потратив пару недель на написание тестов, …
37 tdd  refactoring 

8
Каков принятый стиль использования ключевого слова this в Java?
Я пришел из таких языков, как Python или Javascript (и других, которые менее объектно-ориентированы), и я пытаюсь улучшить свои рабочие знания Java, которые я знаю только поверхностно. Считается ли плохой практикой всегда добавлять thisк текущим атрибутам экземпляра? Мне кажется более естественным писать ... private String foo; public void printFoo() { …

9
Как детка твои шаги в TDD?
Сегодня мы тренировали TDD и обнаружили следующую точку недопонимания. Задача для ввода «1,2» - возвращаемая сумма чисел, равная 3. Что я написал (в C #): numbers = input.Split(','); return int.Parse(numbers[0]) + int.Parse(numbers[1]); //task said we have two numbers and input is correct Но другие парни предпочитали делать это по-другому. Сначала …
37 testing  tdd 

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

9
Как мне преодолеть паралич с помощью анализа при кодировании?
Когда я начинаю новый проект, я часто сразу начинаю думать о деталях реализации. «Где я собираюсь поместить DataBaseHandler? Как я должен его использовать? Должны ли классы, которые хотят его использовать, выходить из какого-то абстрактного суперкласса? .. Должен ли я использовать интерфейс? Какой уровень абстракции я собираюсь использовать в своем классе, …

16
Больно ли изучать биты многих языков программирования?
Я начал свою карьеру программиста в BASIC в 9-м классе. Я немного изучил бейсик, написав простые программы для сложения, вычитания и печати. Затем я пошел в университет и взял компьютерную информацию и системную инженерию. В первый год меня учили С, и я хорошо им владею. Затем я изучил C ++ …
37 php  c++  c  basic 

5
«Доказательство - это программа; формула, которую он доказывает, является типом для программы »
Это может быть философский вопрос, но я считаю, что на него есть объективный ответ. Если вы читаете статью в Википедии о Haskell, вы можете найти следующее: Этот язык основан на наблюдениях Хаскелла Карри и его интеллектуальных потомков, что «доказательство - это программа; формула, которую он доказывает, - это тип для …
37 haskell 

12
Товарищ-программист использовал худшие практики программирования
Я знаю, что это кажется странным, но один из программистов на работе сознательно использовал несколько плохих методов программирования! Я объясню. Сначала позвольте мне сказать, что он умный парень и по большей части пишет понятный код. Его попросили реализовать лицензирование для проекта веб-приложения, написанного на Java. Поскольку это Java, если вы …

2
Как вы сохраняете свои базовые навыки от атрофии? [закрыто]
Кодирование - это только один аспект профессионального программирования. Моя работа требует от меня кодирования, но также требует, чтобы я занимался другими делами в течение продолжительных периодов времени - иногда бывают дни или недели, когда я не просто программирую . Я боюсь, что с трудом завоеванные навыки программирования атрофируются, пока я …

17
Можете ли вы на самом деле создавать высококачественный код, если вы лишены сна? [закрыто]
Я слышал о программистах, которые два дня бездействуют, пьют кофе и Red Bull . Также в таких фильмах, как The Social Network , в сцене они показывают, что Марк Цукерберг программирует в течение 36 часов. Также я где-то читал, что в таких компаниях, как Facebook, Google, Foursquare и т. Д. …

8
Чего мне ожидать от моей первой работы по программированию? [закрыто]
Меня только что наняли для моей первой работы по программированию! Мне 25 лет, и я использую Java в течение 6 лет. Теперь, когда меня приняли на работу, я нервничаю, что мои навыки не будут соответствовать ожиданиям работодателя. Я боюсь, что меня примут в проект, и мне придется задавать много вопросов, …

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