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

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

6
Можете ли вы изменить лицензию, как только вы ее выберете?
Я работаю над продуктом, который, по моему мнению, не полностью готов, но у меня есть набор пользователей, которые очень заинтересованы в том, чтобы использовать его сейчас в качестве «альфа-тестеров». Я хотел бы предоставить им продукт бесплатно в качестве «альфа-тестеров», но я бы хотел позже лицензировать программное обеспечение. Это возможно? Может …
47 licensing 

10
Почему я должен избегать встроенных сценариев?
Знающий друг недавно посмотрел сайт, который я помог запустить, и прокомментировал что-то вроде «очень крутой сайт, позор встроенным сценариям в исходном коде». Я определенно могу удалить встроенные скрипты там, где это происходит; Я смутно осознаю, что это «плохо». Мой вопрос: каковы реальные проблемы с встроенными сценариями? Есть ли существенная проблема …

9
Каковы недостатки тестового программирования?
Это все ярость в наши дни. «Каждый» рекомендует это. Это само по себе делает меня подозрительным. Какие недостатки вы обнаружили при выполнении тестовой (управляемой тестом) разработки? Я ищу личный опыт от знающих практиков - я могу прочитать гипотетические размышления о сотне подражателей в других местах в Интернете. Я спрашиваю не …

9
Есть ли жизнеспособная альтернатива методологии гибкой разработки?
Две преобладающие методологии разработки программного обеспечения - водопад и проворный. При обсуждении этих двух вопросов часто большое внимание уделяется конкретным методам, которые их различают (парное программирование, TDD и т. Д. По сравнению с функциональными спецификациями, большим предварительным дизайном и т. Д.). Но настоящие различия гораздо глубже в том, что эти …

22
Каковы некоторые хорошие практики перед проверкой исходного кода? [закрыто]
Моя команда использует Team Foundation Server для контроля исходного кода, и сегодня я исправил некоторые ошибки и приложение для тестирования дыма, прежде чем зарегистрировал его, но забыл прокомментировать некоторый код. (Этот код сделал интерфейс немного странным.) Я хочу знать, какие передовые практики существуют, прежде чем регистрировать код - я не …

20
Почему на вид непропорционально большое количество программистов просто, ну, не приятно? [закрыто]
Возможно, это просто мой личный опыт, но я общаюсь с разными группами и типами людей, и мне кажется, что странно большой процент программистов, с которыми я столкнулся, «нехорошо» или для попытки лучшего определения: Снисходя Снарки Отрицательно в том, как они говорят о людях Если вы заметили то же самое, какие-либо …
47 teamwork 

10
Являются ли переменные флага абсолютным злом? [закрыто]
Являются ли переменные флага злыми? Являются ли перечисленные ниже переменные глубоко аморальными, и стоит ли их использовать? «Булевы или целочисленные переменные, которым вы присваиваете значение в определенных местах, а затем внизу, вы проверяете, затем в другом, что-то делаете или нет, как, например, используя newItem = trueзатем несколько строк ниже if …

5
Где я должен поместить функции, которые не связаны с классом?
Я работаю над проектом C ++, где у меня есть куча математических функций, которые я изначально написал для использования в качестве части класса. Однако, когда я писал больше кода, я понял, что мне нужны эти математические функции везде. Где лучшее место для их размещения? Допустим, у меня есть это: class …
47 c++  functions  class 

4
Почему и когда я должен сделать класс «статическим»? Каково назначение ключевого слова static на классах?
staticКлючевое слово в качестве члена во многих языках означает , что вы не должны создать экземпляр этого класса , чтобы иметь возможность иметь доступ к этому члену. Тем не менее, я не вижу никакого оправдания, чтобы сделать весь класс static. Почему и когда я должен сделать урок static? Какие преимущества …

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

2
Что Алан Кей имел в виду под «заданием» в «Ранней истории Smalltalk»?
Я читал «Раннюю историю Smalltalk», и есть несколько упоминаний о «назначении», которые заставляют меня усомниться в моем понимании его значения: Хотя ООП исходило из многих мотивов, два были центральными. Крупномасштабная задача заключалась в том, чтобы найти лучшую модульную схему для сложных систем, связанных с сокрытием деталей, а мелкомасштабная - найти …

10
При каких условиях целесообразно использование MVVM?
Модель View View-Model была разработана Microsoft для целевых платформ разработки пользовательского интерфейса, которые поддерживают программирование на основе событий, в частности Windows Presentation Foundation (WPF) и Silverlight на платформах .NET с использованием языков XAML и .NET. За прошедшие годы многие Javascript-фреймворки, такие как Angular, Knockout и ExtJS, приняли шаблон. Как и …

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


11
Значение асинхронного против синхронного [закрыто]
Что означает слова асинхронные и синхронные в информатике? Если вы гуглите значение слов, вы получите следующее: Асинхронный: не существует или не происходит одновременно . Синхронный: существующий или встречающийся одновременно . Но похоже, что они используются для передачи противоположного значения в программировании или информатике: Атрибут HTML асинхронный означает, что сценарий будет …

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