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

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

7
Почему бы не вставлять стили / сценарии в HTML вместо ссылок?
Мы объединяем файлы CSS и JavaScript, чтобы уменьшить количество HTTP-запросов, что повышает производительность. В результате HTML выглядит так: <link rel="stylesheet" href="all-my-css-0fn392nf.min.css"> <!-- later... --> <script src="all-my-js-0fn392nf.min.js"></script> Если у нас есть логика на стороне сервера / сборки, чтобы сделать все это для нас, почему бы не сделать еще один шаг вперед …

13
Насколько безопасно скомпилировать кусок исходного кода из случайного незнакомца? [закрыто]
Предположим, я проверяю код, который соискатели посылают для подтверждения своих навыков. Очевидно, я не хочу запускать исполняемые файлы, которые они отправляют. Не очень ясно, что я бы предпочел не запускать результат компиляции их кода (например, Java позволяет скрыть исполняемый код в комментариях ). Как насчет компиляции их кода? Я хочу …

4
Что имел в виду Рич Хики, когда сказал: «Вся эта специфика [интерфейсов / классов / типов] убивает ваше повторное использование!»
В 29 -минутном выступлении Рич Хики, посвященном размышлениям на конференции Goto « Значение ценностей », он рассказывает о накладных расходах такого языка, как Java, и делает следующее заявление: «Все эти интерфейсы убивают ваше повторное использование». Что он имеет в виду? Это правда? В поисках ответов я наткнулся на: Принцип Наименьшего …

7
Я хочу опубликовать приложение для Android, но боюсь патентов на программное обеспечение [закрыто]
Я написал приложение, которое помогает вам экономить энергию. На самом деле это очень просто. Я проверяю текущее местоположение телефона и делаю некоторые изменения в конфигурации, такие как «звук выключен, темный дисплей, Wi-Fi выключен ...», в зависимости от местоположения пользователя. Sony только что выпустила новый телефон, включающий одну из функций моих …

13
Почему вы должны указывать тип данных при объявлении переменных?
В большинстве языков программирования (если не во всех) вам нужно объявлять переменные. Например, в C #, если это числовое поле, то int PhoneNumber Если я использую нормальный английский язык, мне не нужно указывать, PhoneNumberкак intего использовать. Например, если я попрошу моего друга Сэма дать мне свой номер телефона, я скажу: …

8
Нужно ли добавлять регистр по умолчанию при использовании коммутаторов?
Во время недавнего обзора кода меня попросили поместить defaultдела во все файлы, где бы ни использовался switchблок, даже если нечего делать default. Это означает, что я должен положить defaultдело и ничего не писать в нем. Это правильная вещь? Какой цели это будет служить?

8
Почему java.util.ArrayList позволяет добавлять нуль?
Интересно, почему java.util.ArrayListпозволяет добавить null. Есть ли какой-либо случай, когда я хотел бы добавить nullк ArrayList? Я задаю этот вопрос , потому что в проекте мы имели ошибку , когда некоторый код добавлял nullк , ArrayListи это было трудно определить , где ошибка была. Очевидно, что NullPointerExceptionбыл брошен, но только …

6
Я не умею рисовать. Как я могу сделать полированные аппликации?
Я не графический дизайнер. Я довольно плохо рисую что-нибудь. Я изо всех сил стараюсь создавать вещи, которые выглядят даже так же хорошо, как «образцы» приложений в комплекте со средствами разработки; прежде всего потому, что у меня нет приседаний на пути к художественным активам. Какие стратегии я мог бы предпринять, чтобы …
41 graphics 

12
Эффективно ли развитие C # неотделимо от используемой вами IDE?
Я программист на Python, изучающий C #, который пытается перестать беспокоиться и просто любит C # за то, что он есть, вместо того, чтобы постоянно сравнивать его с Python. Я поймал один момент: отсутствие ясности относительно того, где вещи определены, как подробно описано в этом вопросе переполнения стека . Вкратце: …

7
Почему статические члены данных должны быть определены вне класса отдельно в C ++ (в отличие от Java)?
class A { static int foo () {} // ok static int x; // <--- needed to be defined separately in .cpp file }; Я не вижу необходимости A::xопределять отдельно в файле .cpp (или тот же файл для шаблонов). Почему нельзя A::xобъявить и определить одновременно? Было ли это запрещено по …

1
Как организовать функциональные программы [закрыто]
Возможный дубликат: функциональное программирование против ООП Как написать управляемый код с функциональным программированием? В ООП вашей основной единицей организации для кода является класс. Часто используемая методология в Java, C # и аналогичных языках состоит в том, чтобы организовать ваш код вокруг одного файла для каждого класса с именем файла после …

8
Функциональные языки лучше в рекурсии?
TL; DR: функциональные языки обрабатывают рекурсию лучше, чем нефункциональные? В настоящее время я читаю Code Complete 2. В какой-то момент в книге автор предупреждает нас о рекурсии. Он говорит, что этого следует избегать, когда это возможно, и что функции, использующие рекурсию, обычно менее эффективны, чем решения, использующие циклы. В качестве …

8
Частная переменная против свойства?
При установке значения переменной внутри класса большую часть времени мы представляем два варианта: private string myValue; public string MyValue { get { return myValue; } set { myValue = value; } } Существует ли соглашение, которое определяет, как мы должны присваивать значения переменным внутри наших классов? Например, если у меня …

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

12
Недостатки кода ката
Code kata - это концепция, которая предлагает оттачивать навыки программиста, многократно выполняя небольшие задачи, пытаясь улучшить код на каждой итерации. Название происходит от аналогии с ката боевого искусства, где формы (он же ката) - это практики, совершаемые снова и снова, ведущие к улучшениям. Из реакции, которую я получил на мой …
41 code-kata 

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