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

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

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

12
Наличие флага, указывающего, должны ли мы выдавать ошибки
Я недавно начал работать в месте с некоторыми намного более старшими разработчиками (приблизительно 50 лет). Они работали над критическими приложениями, касающимися авиации, где система не могла выйти из строя. В результате старший программист имеет тенденцию кодировать этот путь. Он имеет тенденцию помещать логическое значение в объекты, чтобы указать, должно ли …

11
Гарантирует ли покрытие пути поиск всех ошибок?
Если каждый путь через программу проверен, гарантирует ли это поиск всех ошибок? Если нет, то почему? Как вы могли бы пройти через все возможные комбинации программных потоков и не найти проблему, если таковая существует? Я стесняюсь предположить, что «все ошибки» могут быть найдены, но, может быть, это потому, что охват …

2
Почему так много хешированных и зашифрованных строк заканчиваются знаком равенства?
Я работаю в C # и MSSQL, и, как и следовало ожидать, я храню свои пароли как соленые и хэшированные Когда я смотрю на хеш, хранящийся в столбце nvarchar (например, из провайдера членства aspnet). Мне всегда было любопытно, почему сгенерированные значения Salt и Hash всегда заканчиваются одним или двумя знаками …

5
Почему так плохо читать данные из базы данных, «принадлежащей» другому микросервису?
Я недавно прочитал эту прекрасную статью об архитектуре микросервиса: http://www.infoq.com/articles/microservices-intro В нем говорится, что когда вы загружаете веб-страницу в Amazon, более 100 микросервисов сотрудничают, чтобы обслуживать эту страницу. В этой статье описывается, что все взаимодействие между микросервисами может осуществляться только через API. Мой вопрос заключается в том, почему так плохо …

1
Чем черты Rust отличаются от интерфейсов Go?
Я относительно знаком с Go, написав в нем несколько небольших программ. Руст, конечно, я менее знаком с, но следить за. Прочитав недавно http://yager.io/programming/go.html , я подумал, что лично я рассмотрю два способа обработки Generics, потому что статья, похоже, несправедливо критикует Go, когда на практике интерфейсов было немного не мог сделать …
64 go  rust 

6
Сервисный уровень против DAO - Почему оба?
Я работал с SpringMVC, Hibernate и некоторыми базами данных в примере с веб-приложением Java. Есть несколько разных, которые делают это, но в этом руководстве по интеграции с Spring 3 и hibernate с примером есть класс модели, представление (в jsp), а также классы обслуживания и dao для контроллера. Мой вопрос: разве …

1
Обзор кода Gerrit или модель Github для вилки и вытягивания?
Я начинаю программный проект, который будет разработан командой И сообществом. Раньше меня продавали на Gerrit, но теперь модель запросов на разветвление и извлечение Github, кажется, почти предоставляет больше инструментов, способов визуализации фиксаций и простоты использования. Для кого-то, у кого есть хотя бы небольшой опыт работы с обоими, каковы плюсы / …
64 git  github  forking  gerrit 

3
Почему в классах Java 8 java.time отсутствует метод getMillis ()?
Java 8 имеет совершенно новую библиотеку для дат и времени в пакете java.time, что очень приветствуется для всех, кому раньше приходилось использовать JodaTime или из-за необходимости создавать собственные вспомогательные методы обработки дат. Многие классы в этом пакете представляют временные метки и имеют вспомогательные методы, такие как getHour()получение часов из временной …
64 java  java8 

4
Причины НЕ использовать JSF [закрыто]
Я новичок в StackExchange, но я подумал, что вы сможете мне помочь. Мы создаем новое приложение Java Enterprise, заменяющее устаревшее решение JSP. Из-за множества изменений пользовательский интерфейс и части бизнес-логики будут полностью переосмыслены и реализованы. Нашей первой мыслью была JSF, так как это стандарт в Java EE. Сначала у меня …

7
Данные конфигурации: таблица из одной строки в сравнении с таблицей имя-значение-пара
Допустим, вы пишете приложение, которое может быть настроено пользователем. Для хранения этих «данных конфигурации» в базе данных обычно используются два шаблона. Таблица однорядные CompanyName | StartFullScreen | RefreshSeconds | ... ---------------+-------------------+------------------+-------- ACME Inc. | true | 20 | ... Имя-значение пары таблица ConfigOption | Value -----------------+------------- CompanyName | ACME Inc. …

5
В чем разница между реализацией интерфейса явно или неявно?
В Visual Studio я могу щелкнуть правой кнопкой мыши по интерфейсу и выбрать «Реализовать интерфейс» или «Явно реализовать интерфейс». public class Test : ITest { public string Id // Generated by Implement Interface { get { throw new NotImplementedException(); } } string ITest.Id // Generated by Implement Interface Explicitly { …
64 c#  syntax 

11
Как я могу убедить моего босса, что ANSI C не подходит для нашего нового проекта? [закрыто]
Несколько месяцев назад мы начали разработку приложения для управления собственным испытательным оборудованием и записи набора измерений. Он должен иметь простой пользовательский интерфейс и, вероятно, потребует потоков из-за непрерывной записи, которая должна иметь место. Это приложение будет использоваться в течение нескольких лет, и в течение этого периода его будут поддерживать некоторые …

11
Почему загадочные короткие идентификаторы все еще так распространены в низкоуровневом программировании?
Раньше были очень веские причины для краткости названий инструкций / регистров. Эти причины больше не применяются, но короткие загадочные имена все еще очень распространены в низкоуровневом программировании. Почему это? Это просто потому, что старые привычки трудно сломать, или есть более веские причины? Например: Atmel ATMEGA32U2 (2010?): TIFR1(Вместо TimerCounter1InterruptFlag), ICR1H(вместо InputCapture1High), …

18
Длинные методы всегда плохи? [закрыто]
Поэтому, оглядываясь назад, я заметил несколько комментариев о том, что длинные методы являются плохой практикой. Я не уверен, что всегда согласен с тем, что длинные методы плохие (и хотел бы узнать мнение других). Например, у меня есть несколько представлений Django, которые выполняют небольшую обработку объектов перед отправкой их в представление, …

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