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

38
Файл с Apache 2.0 и моими модификациями

Я прочитал оригинальный текст Apache License, версия 2.0 и объяснение на простом английском языке. Хорошо, я копирую класс, распространяемый The Best Company в мире , их лицензию и немного изменяю код. Оригинальный файл с моими изменениями. /* * Copyright (C) 2011 The Best Company in the World * *...

38
Можно ли вносить изменения в стиль кодирования в проекте с открытым исходным кодом, который не следует передовым методам?

Недавно я натолкнулся на ряд проектов с открытым исходным кодом Ruby (или большинство из них был Ruby) на GitHub, которые при проверке с помощью инструмента анализа кода, такого как Rubocop , создают много нарушений . Теперь большинство этих нарушений включают использование двойных кавычек вместо...

38
Почему темные цветовые схемы в редакторах так популярны? [закрыто]

В настоящее время почти все используют темную цветовую схему в редакторе кода - темный фон со светлым текстом. Даже большинство веб-редакторов (например, на Github) имеют схемы темных цветов. Я, честно говоря, не вижу преимуществ. Человеческий глаз гораздо лучше читает темный текст на светлом фоне....

38
Недостатки управления памятью на основе областей

Мне действительно нравится управление памятью на основе области (SBMM) или RAII , так как на него чаще всего (сбивает с толку?) Ссылается сообщество C ++. Насколько я знаю, за исключением C ++ (и C), сегодня нет другого основного языка, который бы использовал SBMM / RAII в качестве основного...

38
Насколько важно очищать чужой код, когда сталкивается с жестким сроком? [закрыто]

(Я говорю о коде HTML / CSS (не языках программирования), но я думаю, что мы также сталкиваемся с той же проблемой, что и программисты.) Я старший дизайнер в команде, и мне часто приходится пересматривать результаты работы моих юниоров в сжатые сроки. Я столкнулся с 2 проблемами: Их стиль...

38
Язык программирования против языка разметки против языка сценариев

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

38
Сколько информации об ошибке должно быть показано пользователю?

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

38
Современные языки все еще используют генераторы парсеров?

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

38
На самом деле стоит модульное тестирование клиента API?

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

38
Что такое ссылочная прозрачность?

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

38
Долго ли компилируется в прошлом?

Существует множество военных историй о том, сколько времени может занять компиляция. Даже xkcd упомянул об этом. Я давно не программировал и в основном только знакомился с Java и Python (и Python - интерпретируемый, а не скомпилированный). Я понимаю, что вполне возможно, что я просто не сталкивался...

38
Является ли хорошей практикой полагаться на транзитные заголовки?

Я очищаю включения в проекте C ++, над которым я работаю, и все время задаюсь вопросом, следует ли мне явно включать все заголовки, используемые непосредственно в конкретном файле, или же я должен включать только минимум. Вот пример Entity.hpp: #include "RenderObject.hpp" #include "Texture.hpp"...

38
Сохранение объекта с помощью собственного метода или другого класса?

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

38
REST API - должен ли API возвращать вложенные объекты JSON?

Когда дело доходит до API JSON, рекомендуется ли выравнивать ответы и избегать вложенных объектов JSON? В качестве примера, скажем, у нас есть API, похожий на IMDb, но для видеоигр. Существует пара сущностей: Game, Platform, ESRBRating и GamePlatformMap, которые отображают игры и платформы....

38
Как заставить обещание JavaScript вернуть что-то кроме обещания?

У меня есть спецификация от клиента для реализации метода в модуле: // getGenres(): // Returns a promise. When it resolves, it returns an array. Если дан массив жанров, ['comedy', 'drama', 'action'] Вот метод скелета с обещанием: MovieLibrary.getGenres = function() { var promise = new...

38
Каков предпочтительный способ хранения конфигураций приложений?

Большую часть времени я храню конфигурацию приложения разработки в корневой директории проекта, например: app |-- config.json Но это, похоже, не лучший подход, так как этот конфиг в конечном итоге хранится в системе контроля версий - возможно, это приводит к утечке имен пользователей, паролей и...

38
Как думать, как программист C после того, как смещен с языка ООП? [закрыто]

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

38
Преимущества использования .dll-файлов перед связыванием .cs-файлов с проектами (для моих собственных универсальных вспомогательных классов / методов расширения)

У меня есть вспомогательный проект, который я использую во всех приложениях, которые я создаю. Он содержит некоторые методы расширения и набор общих вспомогательных классов, элементов управления и т. Д. Я время от времени обновляю / расширяю вспомогательный проект. Обычно это небольшие и...

38
Является ли расточительным создание новой таблицы базы данных вместо использования типа данных enum?

Предположим, у меня есть 4 вида услуг, которые я предлагаю (они вряд ли будут часто меняться): тестирование дизайн программирование Другие Предположим, у меня есть 60-80 реальных услуг, каждая из которых подпадает под одну из вышеуказанных категорий. Например, «сервис» может быть «Тестовая...

38
Пытаюсь понять, П против NP, против NP Complete против NP Hard

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