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

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

1
Имя для функции, которая возвращает свои аргументы?
Функция, которая ничего не делает, не принимает аргументов и ничего не возвращает, традиционно называется a noopили no-op. Пример noop ниже: function noop(){} http://en.wikipedia.org/wiki/NOP Так есть ли имя для функции, которая предназначена только для того, чтобы возвращать свои аргументы и ничего не делать? Пример такого рода функции: function(a){return a}
34 functions 

7
Почему большинство основных языков не поддерживают синтаксис «x <y <z» для трехсторонних логических сравнений?
Если я хочу сравнить два числа (или другие хорошо упорядоченные объекты), я бы сделал это с x &lt; y. Если я захочу сравнить три из них, ученик средней школы по алгебре предложит попробовать x &lt; y &lt; z. Затем программист во мне ответит: «Нет, это не правильно, вы должны это …

6
Как мне протестировать систему, в которой объекты трудно подделать?
Я работаю со следующей системой: Network Data Feed -&gt; Third Party Nio Library -&gt; My Objects via adapter pattern Недавно у нас возникла проблема, когда я обновил версию библиотеки, которую использовал, что, помимо прочего, приводило к тому, что метки времени (которые возвращает сторонняя библиотека как long) изменялись с миллисекунд после …

6
Какой смысл в реализации стека с использованием двух очередей?
У меня следующий домашний вопрос: Реализуйте методы стека push (x) и pop (), используя две очереди. Это кажется мне странным, потому что: Стек - это очередь (LIFO) Я не понимаю, зачем вам нужно две очереди для его реализации Я искал вокруг: GeeksForGeeks Переполнение стека и нашел пару решений. Вот чем …
34 java  stack 

8
Переопределение Object.finalize () действительно плохо?
Основными двумя аргументами против переопределения Object.finalize()является то, что: Вы не можете решить, когда это называется. Это не может быть вызвано вообще. Если я правильно понимаю, я не думаю, что это достаточно веские причины, чтобы Object.finalize()так сильно ненавидеть . Именно реализация виртуальной машины и GC должны определить, когда подходящее время для …

3
Проект Forking GPL: есть ли у меня полные права на новый форк или все еще зависимости от первоначального владельца?
Я подумываю о создании форка для небольшого проекта, лицензированного под GPLv2 , и у меня есть несколько очень специфических вопросов, на которые мне не удалось ответить в моих исследованиях на различных сайтах и ​​форумах. Когда я разветвляю код, я вынужден выпустить новый проект под той же лицензией (GPL), что и …
34 gpl 

7
RESTful API стимулируют анемичные доменные модели?
Я работаю над проектом, в котором мы пытаемся применить как доменный дизайн, так и REST к сервис-ориентированной архитектуре. Мы не беспокоимся о 100% соблюдении REST; вероятно, было бы лучше сказать, что мы пытаемся создать ресурсно-ориентированные HTTP API (~ Уровень 2 модели зрелости REST Ричардсона). Тем не менее, мы стараемся держаться …

1
Что такое табличное программирование?
Язык программирования Falcon рекламирует себя как поддерживающий табличное программирование: Falcon предоставляет шесть интегрированных парадигм программирования: процедурный, объектно-ориентированный, прототипно-ориентированный, функциональный, табличный и ориентированный на сообщения. И вам не нужно осваивать их все; вам просто нужно выбрать ингредиенты, которые вы предпочитаете, и позволить коду следовать вашему вдохновению. Документация расширяет немного о том …
34 paradigms 

3
В разработке Java обычно используется больше подклассов, чем в C # / .NET?
Я недавно начал смотреть на разработку Android. Это вернуло меня в мир разработки программного обеспечения на Java. В прошлый раз, когда я работал с Java, я должен признать, что ООП я не понимал почти так же, как (я думаю), что я делаю сейчас. Поскольку я в основном использовал C # …

6
Что конкретно означает выразительная сила?
Выразительная сила определяется Википедией как: ... широту идей, которые могут быть представлены и переданы на этом языке. Относятся ли «идеи» к вещам (операциям, структурам, алгоритмам и т. Д.?), Которые мы можем передать машине ? Или это относится к «человеческим» понятиям, которые можно уловить и передать с помощью языка другим людям? …

6
Почему некоторые функциональные языки программирования используют пробел для приложения функций?
Посмотрев на некоторые языки для функционального программирования, я всегда задавался вопросом, почему некоторые языки fp используют один или несколько пробельных символов для приложения функции (и определения), тогда как большинство (все?) Императивных / объектно-ориентированных языков используют круглые скобки, которые, кажется, быть более математическим путем. Я также думаю, что последний стиль намного …

8
Почему разработчики не делают мастеров установки на Linux? [закрыто]
Я уверен, что дело не в лени или чем-то в этом роде, но я не понимаю, почему разработчики приложений, в основном ориентированных на потребителя, не делают никакого мастера установки, чтобы перейти к следующему-следующему этапу. У одних и тех же приложений обычно есть установщики для Windows и Mac OS, так почему …

3
Синхронизация репозиториев на разных хостах
Я думаю о запуске небольшого проекта и хочу создать его версию с помощью git. Bitbucket кажется хорошим вариантом для меня с их бесплатным планом. Я хочу использовать его в качестве основного инструмента для работы с git, поскольку у них есть хорошие инструменты, такие как веб-интерфейс, клиент Mac OS и так …
34 git 


2
Существуют ли метрики для сцепления и сцепления?
Существует ли показатель, аналогичный показателю сложности McCabe, для измерения степени связности подпрограммы, а также того, насколько свободно (или тесно) подпрограмма связана с другим кодом в той же кодовой базе?

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