Розробка програмного забезпечення

Питання та відповіді для професіоналів, науковців та студентів, які працюють у життєвому циклі розвитку систем

3
Це використання символічного постійного перевиконання?
Я досить новачок в інженерії програмного забезпечення, тому в якості навчальної вправи написав шахову гру. Мій друг на це подивився і зазначив, що схожий мій код for (int i = 0; i < 8; i++){ for (int j = 0; j < 8; j++){ при цьому він наполягав на тому, …

1
DRY не пов'язаний, але майже ідентичний код
У мене є код, який майже ідентичний, але використовує абсолютно різні типи, без спадкування між ними, на головній змінній. Зокрема, я пишу аналізатор з Roslyn для C # та VB.NET із такими типами: Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax Мені цікаво, якщо, оскільки код робить те саме, я повинен зберігати його як можна DRY, …
34 c#  design  dry 

6
Як я перевіряю систему, де над об'єктами важко знущатися?
Я працюю з наступною системою: Network Data Feed -> Third Party Nio Library -> My Objects via adapter pattern Нещодавно у нас виникла проблема, коли я оновлював версію бібліотеки, якою я користувався, яка, серед іншого, спричинила зміну часових позначок (які повертається сторонніми бібліотеками long) з мілісекунд після епохи на наносекунд …

1
Ім'я для функції, яка повертає свої аргументи?
Функція, яка нічого не робить, не бере аргументів і нічого не повертає, традиційно називається a noop, або no-op. Нижче наведено приклад шурупа: 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. Потім програміст у мені відповість "ні, це не вірно, ти повинен робити x …

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

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

7
Чи прагнуть API RESTful заохочувати анемічні моделі домену?
Я працюю над проектом, в якому ми намагаємось застосувати як орієнтований на домен дизайн, так і REST до архітектури, орієнтованої на сервіс. Ми не турбуємось про 100% відповідність REST; можливо, було б краще сказати, що ми намагаємося побудувати орієнтовані на ресурси HTTP API (~ рівень 2 моделі зрілості Річардсона REST). …

8
Невже переважаючий Object.finalize () дійсно поганий?
Основні два аргументи проти переосмислення Object.finalize(): Ви не можете вирішити, коли він називається. Він може взагалі не зателефонувати. Якщо я правильно це розумію, я не думаю, що це досить вагомі причини, щоб Object.finalize()так сильно ненавидіти . Саме реалізація VM і GC визначають, коли саме потрібний час для розміщення об'єкта, а …

1
Що таке табличне програмування?
Мова програмування Falcon рекламує себе як підтримує табличне програмування: Falcon пропонує шість інтегрованих парадигм програмування: процедурна, об'єктно-орієнтована, прототипово орієнтована, функціональна, таблична та повідомлення. І вам не доведеться опановувати їх усіма; вам просто потрібно вибрати інгредієнти, які ви віддаєте перевагу, і нехай код слідує за вашим натхненням. Документація розширює трохи про …
34 paradigms 

6
На що конкретно йдеться про виражальну силу?
Виразна сила визначається Вікіпедією як: .. широта ідей, які можуть бути представлені та передані цією мовою. Чи "ідеї" стосуються речей (операцій, структур, алгоритмів тощо), які ми можемо передавати машині ? Або йдеться про «людські» поняття, які можна захопити та донести мовою до інших людей? Як оцінюється і вимірюється виразна сила? …

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

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


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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.