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

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

6
альтернативы вложенным try-catch для резервных вариантов
У меня есть ситуация, когда я пытаюсь получить объект. Если поиск не удался, у меня есть несколько запасных вариантов, каждый из которых может дать сбой. Итак, код выглядит так: try { return repository.getElement(x); } catch (NotFoundException e) { try { return repository.getSimilarElement(x); } catch (NotFoundException e1) { try { return …

1
Можно ли сделать конструктор по умолчанию непригодным для использования?
В частности, спрашивая о конструкторе по умолчанию Учитывая, что конструктор инициализирует все данные для объекта, если я создаю класс, который не может быть использован без надлежащей инициализации, разве это не тот случай, когда конструктор по умолчанию бесполезен? Рассмотреть возможность: // A class for handling lines in a CSV file class …

7
Является ли это запахом кода, если вы часто создаете объект просто для вызова метода?
Я унаследовал кодовую базу, где много кода, который выглядит примерно так: SomeDataAdapter sda = new SomeDataAdapter(); sda.UpdateData(DataTable updateData); И тогда sda больше никогда не используется. Это запах кода, который указывает, что эти методы должны быть статическими методами класса?

4
Являются ли патчи плохим знаком для клиента? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . В офисе мы только что вышли из длительного периода, когда мы выпускали патчи …

4
Можно ли свободно связать приложение с его фреймворком?
Допустим, я занимаюсь разработкой веб-приложения. Мой первый выбор - использовать PHP с Fat-Free Framework (F3) и шаблоном MVC. В следующем году я могу решить, что хочу перейти на Zend Framework или, может быть, даже ASP.NET MVC. Имеет ли смысл пытаться спроектировать мое приложение таким образом, чтобы оно было слабо связано …

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

5
Должен ли я написать интерфейс API перед реализацией?
Недавно я углубился в более «организованное» программирование и узнал, что я должен программировать для интерфейса, а не для реализации. Имея это в виду, было бы лучше "набросать" проект в интерфейсах, прежде чем писать реализацию для него, где это возможно? И если это так, то в случае использования сторонних библиотек (например, …

4
Ошибка подавляет плохую практику?
На один вопрос, который я задал здесь о некотором коде, в котором я не был уверен, кто-то ответил: «Кстати, ужасный код: он часто использует символ подавления ошибок (@)». Есть ли причина, почему это плохая практика? С такими вещами, как: $db=@new mysqli($db_info) or die('Database error'); , это позволяет мне отображать только …

3
Когда уместно использовать цвет в приложении командной строки?
В настоящее время у меня есть приложение командной строки в C под названием btcwatch. У него есть -Cопция, которую он может получить в качестве аргумента, который сравнивает текущую цену Биткойна с ценой, которая была сохранена заранее -S. Пример вывода с этой опцией: $ btcwatch -vC # -v = verbose buy: …

6
Почему многие языки не поддерживают именованные параметры? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Я просто подумал, насколько проще было бы прочитать код, если бы при вызове …

3
Поиск целочисленных последовательностей
У меня довольно сложная проблема поиска, которую мне удалось свести к следующему описанию. Я гуглил, но не смог найти алгоритм, который, кажется, полностью соответствует моей проблеме. В частности, необходимо пропустить произвольные целые числа. Может быть, кто-то здесь может указать мне на что-то? Возьмем последовательность целых чисел A, например (1 2 …
14 algorithms 

2
Что делать, если запрос отправлен на сервер и в ожидании ответа интернет-соединение потеряно?
Я отправляю огромное количество данных на сервер. Теперь, когда я отправил данные и жду ответа сервера, внезапно мое устройство Android теряет подключение к Интернету. Итак, что я делал, это отображал диалоговое окно оповещения о потере соединения, но на стороне сервера данные уже были обработаны и обновлены где-то, например, по любому …

5
Разработка через тестирование: хороший / приемлемый способ тестирования операций файловой системы?
В данный момент я работаю над проектом, который генерирует таблицу (помимо прочего) на основе содержимого файловой системы и, в свою очередь, вносит некоторые изменения в метаданные относительно обнаруженных ею вещей. Вопрос в том, как обдумать или настроить тесты? Есть ли простой способ сделать это? Или я должен установить «песочницу»?

4
Когда нет ТШО, когда беспокоиться о том, чтобы унести стек?
Каждый раз, когда обсуждается новый язык программирования для JVM, неизбежно появляются люди, которые говорят что-то вроде: «JVM не поддерживает оптимизацию хвостового вызова, поэтому я предсказываю множество взрывающихся стеков» Есть тысячи вариаций на эту тему. Теперь я знаю, что некоторые языки, такие как Clojure, например, имеют специальную конструкцию recur, которую вы …

1
Почему некоторые веб-сайты показывают 0 байт в инструментах разработчика Chrome
Я занимаюсь оптимизацией скорости страницы для своего сайта и изучаю, как это делают другие сайты. Я заметил, что некоторые веб-сайты, такие как Facebook или Ringgitplus, показывают 0 байт для некоторых своих ресурсов в инструментах разработчика Chrome на вкладке «Сеть», тогда как реальный размер контента составляет несколько килобайт. Я прочитал несколько …
14 http  caching  chrome 

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