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

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

7
что такое системное программирование?
Я никогда не понимал, что означает системное программирование. Обычно дается следующее определение: «... делать что-то близкое к Os или расширять возможности Os ...». Использует ли Windows API напрямую, а не некоторые библиотеки, чтобы сказать, делает ли файловый ввод / вывод системным программированием? Пишет системное программирование Android OS? Если я напишу …

11
Избегайте постфиксного приращения оператора
Я читал, что я должен избегать постфиксного оператора приращения из-за соображений производительности (в некоторых случаях). Но не влияет ли это на читаемость кода? По моему мнению: for(int i = 0; i < 42; i++); /* i will never equal 42! */ Выглядит лучше чем: for(int i = 0; i < …

2
Почему FAT16 не может хранить более 2 ГБ?
Все сайты, на которые я захожу, чтобы искать информацию о FAT16, просто декларативно заявляют, что на нем не может быть выделено более 2 ГБ. ХОРОШО. Отлично. Я верю тебе. Но как вы пришли к такому выводу (кроме простого тестирования)? Есть ли какая-то формула, которую можно использовать, чтобы определить, сколько может …

4
Имеет ли когда-нибудь смысл для рефактора получить более высокий LOC? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, редактируя этот пост . Закрыто в прошлом году . Существуют ли случаи, когда более подробный код (как в более логичных выражениях) является …

3
Как найти кратчайший путь с червоточинами?
Это пример того, что я хочу сделать с помощью кода. Я знаю, что вы можете использовать поиск точек перехода, чтобы без проблем добраться от зеленого узла к красному узлу или даже к A *. Но как вы рассчитываете это с перекосами. На изображении вы можете видеть, что требуется всего 8 …

2
На основе файлов cookie, сеансов, токенов и аутентификаций на основе утверждений.
Я читал об аутентификациях и запутался в классификации типов. Начнем с проверки подлинности на основе файлов cookie. Если я правильно понимаю, ключевой момент заключается в том, что все данные, необходимые для проверки подлинности пользователя, хранятся в файлах cookie. И это моя первая путаница: в куки мы можем хранить идентификатор сеанса, …

8
Какой универсальный способ сохранить географический адрес / местоположение в базе данных? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, редактируя этот пост . Закрыто 2 года назад . Какой правильный формат географического адреса / местоположения подходит для любого адреса на Земле? …

7
Как программист, насколько важно читать чужой код?
Я начинающий инженер-программист (сейчас второкурсник, специализируюсь в CS), и я действительно изо всех сил пытаюсь понять программы других людей. Я хочу знать, может ли этот навык (или его отсутствие) стать помехой для меня, и если да, то как я могу его развить?

4
Что это значит, когда кто-то говорит «Инкапсулировать то, что меняется»?
Один из принципов ООП, с которыми я столкнулся, это: - Инкапсулируйте то, что меняется. Я понимаю, что буквальное значение фразы, то есть скрыть, что меняется. Тем не менее, я не знаю, как именно это будет способствовать улучшению дизайна. Может кто-нибудь объяснить это на хорошем примере?

8
Git - Какие проблемы возникают при работе напрямую с мастером?
Я видел много советов о моделях git-ветвления, и наиболее распространенное мнение состоит в том, что внесение изменений непосредственно в основную ветку - плохая идея. Один из наших сотрудников очень рад внести изменения непосредственно в основную ветку, и, несмотря на несколько разговоров, они вряд ли это изменит. На данный момент я …

5
Это хорошая практика, чтобы избежать констант с помощью геттеров?
Является ли хорошей практикой замена констант, используемых вне классов, геттерами? Как пример, лучше использовать if User.getRole().getCode() == Role.CODE_ADMINили if User.getRole().isCodeAdmin()? Это привело бы к этому классу: class Role { constant CODE_ADMIN = "admin" constant CODE_USER = "user" private code getRoleCode() { return Role.code } isCodeAdmin () { return Role.code == …

5
Отклонение обещания только для случаев ошибки?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 3 года назад . Допустим, у меня есть функция аутентификации, которая возвращает обещание. Обещание затем разрешается с результатом. Ложь и истина - это ожидаемые результаты, на мой взгляд, и отклонения должны …
25 javascript 

6
Можно ли в интерфейсах содержать метод, который возвращает конкретный тип реализации в виде константы?
Я очень часто оказываюсь в ситуации, когда мне нужно другое поведение компонента, которое зависит от конкретного типа другого интерфейса. Чтобы проиллюстрировать мой вопрос, я написал небольшой фрагмент кода, который покажет, что я имею в виду. В этом примере я пытаюсь создать экземпляр объекта питания из объекта животного. interface Animal { …

5
Может ли экземпляр быть равен некоторому другому экземпляру более определенного типа?
Я читал эту статью: Как написать метод равенства в Java . По сути, он предоставляет решение для метода equals (), который поддерживает наследование: Point2D twoD = new Point2D(10, 20); Point3D threeD = new Point3D(10, 20, 50); twoD.equals(threeD); // true threeD.equals(twoD); // true Но хорошая ли это идея? эти два экземпляра …
25 java  c#  scala  comparison 

6
Как мне подойти к сложному слиянию
Вот сделка, я присоединился к новой компании, и меня попросили завершить работу над филиалом, который почти год не трогали. В то же время, основной филиал рос с устойчивыми темпами. В идеале я хотел бы объединить все изменения из основной ветки в ветку возможностей и продолжить работу оттуда, но я не …

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