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

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

5
Что делать, если вы не можете определить логическое значение?
Мы создаем веб-приложение для компании, администрация которой до сих пор существовала только в таблицах Excel. Мы почти закончили, но недавно мне было поручено импортировать все их данные из этих листов в нашу новую систему. Система построена на Java, но так как этот импорт является единовременным, я решил вместо этого написать …

10
В чем разница между переменной и местом в памяти? [закрыто]
Недавно я пытался объяснить указатели наглядно, как карточки. Вопрос 001: это рисунок места в памяти компьютера. Это правда, что его адрес 0x23452? Зачем? Ответ: Да, потому что 0x23452описывает, где компьютер может найти это место. Вопрос 002: правда ли, что персонаж bхранится в ячейке памяти 0x23452? Зачем? Ответ: Нет, потому что …

6
Преимущества использования .dll-файлов перед связыванием .cs-файлов с проектами (для моих собственных универсальных вспомогательных классов / методов расширения)
У меня есть вспомогательный проект, который я использую во всех приложениях, которые я создаю. Он содержит некоторые методы расширения и набор общих вспомогательных классов, элементов управления и т. Д. Я время от времени обновляю / расширяю вспомогательный проект. Обычно это небольшие и несвязанные проекты, и я единственный человек, работающий над …
38 c#  dll 

6
Как правильно локализовать номера?
Какие предостережения я должен знать при локализации чисел в моем приложении? Пример: в бразильском португальском (pt-BR) мы разделяем тысячи точками и десятичными запятыми. В американском английском (en-US) это наоборот. В pt-BR мы представляем цифры, разделенные тысячами, так же, как en-US. Но читая сегодня об индийском английском (en-IN), я наткнулся на …

7
Имеет ли смысл создавать блоки только для уменьшения области видимости переменной?
Я пишу программу на Java, где в какой-то момент мне нужно загрузить пароль для моего хранилища ключей. Ради интереса я попытался сделать свой пароль на Java как можно более коротким, выполнив следующее: //Some code .... KeyManagerFactory keyManager = KeyManagerFactory.getInstance("SunX509"); Keystore keyStore = KeyStore.getInstance("JKS"); { char[] password = getPassword(); keyStore.load(new FileInputStream(keyStoreLocation), …
38 java  variables  scope 

6
Есть ли шаблон для обработки конфликтующих параметров функции?
У нас есть функция API, которая разбивает общую сумму на ежемесячные суммы на основе заданных дат начала и окончания. // JavaScript function convertToMonths(timePeriod) { // ... returns the given time period converted to months } function getPaymentBreakdown(total, startDate, endDate) { const numMonths = convertToMonths(endDate - startDate); return { numMonths, monthlyPayment: …
38 api-design 

3
На самом деле стоит модульное тестирование клиента API?
Это то, что беспокоило меня некоторое время. На самом деле стоит модульное тестирование клиента API? Допустим, вы создаете небольшой класс, чтобы абстрагировать вызовы API-интерфейса REST. PetShop - очень простой API, и у него есть базовый набор методов: listProducts() getProductDetails(ProductID) addProduct(...) removeProduct(ProductID) При тестировании мы должны были создать поддельный сервис или …
38 unit-testing  api 

2
Современные языки все еще используют генераторы парсеров?
Я исследовал о наборе компиляторов GCC на википедии здесь , когда это придумал: GCC начал использовать парсеры LALR, сгенерированные с помощью Bison, но постепенно переключился на рукописные парсеры с рекурсивным спуском; для C ++ в 2004 году и для C и Objective-C в 2006 году. В настоящее время все внешние …

6
Как думать, как программист C после того, как смещен с языка ООП? [закрыто]
Раньше я использовал только языки объектно-ориентированного программирования (C ++, Ruby, Python, PHP) и сейчас изучаю C. Мне трудно найти правильный способ сделать что-то на языке без понятия «Объект». Я понимаю, что можно использовать ООП-парадигмы в C, но я бы хотел изучить C-идиоматический способ. При решении программной задачи первое, что я …

5
Сохранение объекта с помощью собственного метода или другого класса?
Если я хочу сохранить и извлечь объект, должен ли я создать другой класс для его обработки или лучше сделать это в самом классе? Или, может быть, смешивая оба? Что рекомендуется в соответствии с парадигмой ООД? Например Class Student { public string Name {set; get;} .... public bool Save() { SqlConnection …

4
Пытаюсь понять, П против NP, против NP Complete против NP Hard
Я пытаюсь понять эти классификации и почему они существуют. Правильно ли мое понимание? Если нет, то что? P - полиномиальная сложность, или для некоторого неотрицательного действительного числа , такого как , и т. Д. Если проблема принадлежит P, то существует по крайней мере один алгоритм, который может решить ее с …

6
Сколько информации об ошибке должно быть показано пользователю?
Приложения всегда могут выдавать ошибки. Если такая ошибка возникает, пользователь должен быть уведомлен, потому что то, что он попросил сделать приложение, не удалось. Однако сколько информации должно быть предоставлено пользователю? Я думаю, что большинство из нас согласны не показывать трассировку стека ( должна ли трассировка стека быть в сообщении об …

3
Что такое ссылочная прозрачность?
Я видел это в императивных парадигмах F (X) + F (х) может не совпадать с: 2 * Р (х) Но в функциональной парадигме все должно быть так же. Я попытался реализовать оба случая в Python и Scheme , но для меня они выглядят довольно просто одинаково. Какой пример мог бы …

5
Язык программирования против языка разметки против языка сценариев
До сих пор я не знаю КЛЮЧЕВЫХ различий между этими тремя. Когда кто-то спрашивает меня об этом, я только говорю им, что C # - это язык программирования, HTML и XML - это языки разметки, а JavaScript и VBScript - это языки сценариев. Но какие ключевые отличия отличают их друг …

6
Почему плохая связь между функциями и данными плоха?
Я нашел эту цитату в « Радости Clojure » на с. 32, но кто-то сказал мне то же самое за ужином на прошлой неделе, и я слышал это и в других местах: Недостатком объектно-ориентированного программирования является тесная связь между функцией и данными. Я понимаю, почему ненужное соединение плохо в приложении. …

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