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

100
Что мне делать, если я уже слишком долго ждал между коммитами?

Я был непослушным ... Слишком много "ковбойских кодов", недостаточно преданных. Теперь я здесь с огромным обязательством. Да, я должен был совершать все это время, но сейчас уже слишком поздно. Что лучше? Сделайте один очень большой коммит, перечислив все что я изменил Попробуйте разбить его на...

100
Сроки являются гибкими?

Для ясности, крайний срок: Ограничение по времени или предельный срок - это узкое поле времени или конкретный момент времени, к которому должна быть достигнута цель или задача. Из википедии Всю свою карьеру в области разработки программного обеспечения я занимался «Agile», что повсюду, казалось,...

99
Разница между '\ n' и '\ r \ n'

Да да, я знаю , что '\n'пишет перевод строки в UNIX в то время как для Windows , существует последовательность два символа: '\r\n'. Все это очень хорошо в теории, но мой вопрос почему ? Почему символ возврата каретки является дополнительным в Windows? Если UNIX может это сделать, \nпочему для этого...

99
Стек и куча памяти в Java

Насколько я понимаю, в Java стековая память содержит примитивы и вызовы методов, а кучевая память используется для хранения объектов. Предположим, у меня есть класс class A { int a ; String b; //getters and setters } Где будет храниться примитив aв классе A? Почему куча памяти вообще существует?...

99
Как Наставить Младшего Разработчика

Этот заголовок немного широк, но мне, возможно, придется немного рассказать, прежде чем я смогу правильно задать свой вопрос. Я знаю, что подобные вопросы уже задавались здесь . Но в моем случае я не спрашиваю, должен ли я наставлять кого-то или этот человек хорошо подходит для того, чтобы быть...

99
Мне сказали, что исключения должны использоваться только в исключительных случаях. Как я узнаю, является ли мой случай исключительным?

Мой конкретный случай здесь заключается в том, что пользователь может передать строку в приложение, приложение анализирует ее и назначает ее структурированным объектам. Иногда пользователь может ввести что-то недопустимое. Например, их вклад может описать человека, но они могут сказать, что их...

99
Почему стандартные и статические методы были добавлены к интерфейсам в Java 8, когда у нас уже были абстрактные классы?

В Java 8 интерфейсы могут содержать реализованные методы, статические методы и так называемые методы «по умолчанию» (которые классам реализации не нужно переопределять). На мой (возможно, наивный) взгляд, не было необходимости нарушать подобные интерфейсы. Интерфейсы всегда были контрактом, который...

99
Корабль Тесея применяется к GPL - Могу ли я повторно лицензировать свою программу, если я заменю все производные части?

Я перевелC программу на GPLv2 Python, но обнаружил, что ее сложно расширить, как задумано, и переписал ее значительную часть. Программа в настоящее время структурно совершенно другая, но в ней используется несколько дословно переведенных функций. Корабль Тесея Paradox (как указано в Википедии)...

99
Плохо ли писать код, основанный на оптимизации компилятора?

Я изучал некоторый C ++, и мне часто приходилось возвращать большие объекты из функций, созданных внутри функции. Я знаю, что есть передача по ссылке, возвращаем указатель и возвращаем решения ссылочного типа, но я также читал, что компиляторы C ++ (и стандарт C ++) позволяют оптимизировать...

98
Какие вещи мгновенно звонят в тревогу при взгляде на код? [закрыто]

Я присутствовал на мероприятии, посвященном мастерству программного обеспечения, пару недель назад, и один из комментариев был «Я уверен, что мы все распознаем плохой код, когда мы его видим», и все мудро кивнули без дальнейшего обсуждения. Подобные вещи всегда волнуют меня, потому что есть тот...

98
Как новый программист может произвести впечатление на программиста (босса)? [закрыто]

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

98
Почему многословие вредно для языка программирования? [закрыто]

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

98
Существуют ли какие-либо шаблоны проектирования, которые не нужны в динамических языках, таких как Python?

Я начал читать книгу шаблонов дизайна от GoF. Некоторые модели кажутся очень похожими с незначительными концептуальными различиями. Считаете ли вы, что из многих шаблонов некоторые не нужны в динамическом языке, таком как Python (например, потому что они заменены динамическим...

98
Модульные тесты действительно так полезны? [закрыто]

Я только что закончил со степенью в CS, и в настоящее время у меня есть работа в качестве младшего разработчика .NET (C #, ASP.NET и веб-форм). Когда я еще учился в университете, тема модульного тестирования все-таки освещалась, но я никогда не видел ее преимуществ. Я понимаю, что он должен делать,...

98
Почему Inversion of Control назван так?

Слова invertили controlвообще не используются для определения инверсии контроля в определениях, которые я видел. Определения Википедия инверсия управления (IoC) - это метод программирования, выраженный здесь в терминах объектно-ориентированного программирования, в котором связывание объектов во...

98
Почему трудно заставить Java-программу выглядеть «родной»?

Большинство приложений Java не выглядят так же, как приложения C / C ++. Swing, возможно, был разработан специально для того, чтобы иметь необычный вид, но, основываясь на том, что я прочитал, SWT, например, пытался «выглядеть нативно», и не добился полного успеха. Мой вопрос: Почему разработчикам...

98
Почему теги <b> и <i> устарели?

Этот вопрос возник в одном из моих занятий в колледже. Профессор только дал ответ , что он был более описательный характер, но это , кажется , как будто <b>и <i>довольно явно в их смысл и проще набрать , чем <strong>и <em>. Каковы были официальные аргументы за осуждение этих...

98
Какой смысл проводить модульные тесты на CI-сервере?

Зачем вам запускать модульные тесты на CI-сервере? Конечно, к тому времени, когда что-то будет передано мастеру, разработчик уже запустил все модульные тесты и исправил все ошибки, которые могли произойти с их новым кодом. Не в этом ли смысл юнит-тестов? В противном случае они только что совершили...

98
Как вы обнаруживаете проблемы с зависимостями в модульных тестах, когда используете фиктивные объекты?

У вас есть класс X, и вы пишете несколько модульных тестов, которые проверяют поведение X1. Есть также класс A, который принимает X в качестве зависимости. Когда вы пишете модульные тесты для A, вы имитируете X. Другими словами, во время модульного тестирования A вы устанавливаете (постулируете)...