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

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

1
Використання неліцензованого коду
Скажімо, наприклад, я повинен був знайти проект github, який був розпочатий, але не зовсім повний або який був повним, і я хотів використовувати цей код у більшому проекті, але автор коду не вказав ліцензію на код, що таке прийнятне використання цього коду? Чи можу я використовувати його з будь-якою метою, …

2
DDD - агрегований корінь з великою кількістю дітей
Я виступлю з цим питанням, кажу, що я відносно новий в DDD, тому я можу тут робити деякі принципові помилки! Я працюю над проектом, який включає поняття Рахунки та операції (у фінансовому розумінні). В обліковому записі може бути введено багато транзакцій. Мені здається, що обліковий запис і транзакція є обома …

2
Чи можу я оновити доданий об’єкт за допомогою відокремленого, але рівного об'єкта?
Я отримую дані про фільми із зовнішнього API. На першому етапі я скреблю кожен фільм і вставляю його у власну базу даних. На другому етапі я періодично оновлюватиму свою базу даних, використовуючи API "Зміни" API, який я можу запитати, щоб побачити, які фільми змінили свою інформацію. Мій рівень ORM - …

2
Правильний спосіб видалення елемента із пов’язаного списку
У цьому інтерв'ю Slashdot цитується Лінус Торвальдс: Я бачив занадто багато людей, які видаляють запис, пов'язаний окремо у списку, відслідковуючи запис "prev", а потім видаляючи його, роблячи щось подібне if (prev) prev-> next = entry-> next; else list_head = entry-> наступний; і коли я бачу такий код, я просто переходжу …
10 pointers 

2
Як я можу перевірити евристичний алгоритм?
Скажімо, у нас є алгоритм пошуку маршруту: def myHeuristicTSP(graph): /*implementation*/ return route Тепер ми хочемо перевірити це: class TestMyHeuristicTSP: def testNullGraphRaiseValueError(self): self.assertRaises(ValueError, myHueristicTSP(None)) def testSimpleTwoNodeGraphReturnsRoute: self.assertEquals(expectedResult, myHeuristicTSP(input)) Питання полягає в тому, що для неевристичного алгоритму TSP ми можемо дати різноманітні графіки і перевірити, чи завжди вони повертаються абсолютно найкоротшим маршрутом. …

2
Чи не виникає проблема з куркою-яйцем, оскільки GCC написаний самим C ++?
З моменту випуску 4.8 компілятор C ++ GCC (його частина G ++) записується вже не на C, а в сам C ++. У мене є гіпотетичне питання з цього приводу. Цікаво, як скомпілювати код C ++ GCC на новій платформі, у якій ще немає компілятора C ++. Звичайно, ви можете …
10 c++  compiler  gcc 

2
Чи повинен відправник події завжди бути загальним Об’єктом?
При програмуванні подій на C # рекомендується створити делегата у вигляді: delegate XEventHandler(object sender, XEventArgs e); Моє питання на перший аргумент делегата object sender. Чи завжди це має бути родовим object? Наявність відправника типу objectзавжди призводить до коду, подібного до цього. val = ((ConcreteType)sender).Property; або, ще більш багатослівний, ConcreteType obj …
10 c#  event 

3
Коли триггерна функція зі ступенем аргументу повинна повертати -0,0?
При створенні Тріг функцій my_sind(d), my_cosd(d), my_tand(d), що використовували градусний аргумент , а не радіан один і давав точні відповіді на кратні 90, я помітив , що результат був іноді -0.0замість 0.0. my_sind( 0.0) --> 0.0 my_sind(-0.0) --> -0.0 my_sind(180.0) --> -0.0 my_sind(360.0) --> 0.0 sin()і, tan()як правило, повертають один …
10 c  math 

1
Риси, спадкування та інтерфейси в Groovy, коли ними користуватися?
Я вивчаю бурхливо, і я щойно дізнався про нову функцію, додану в 2.3, що є додаванням ознак . Тепер мені здається, що риси дозволяють робити в основному все, що може зробити суперклас і інтерфейс. Чи додавання ознак до Groovy робить спадщину та інтерфейси застарілими? А якщо ні, то який найкращий …

3
C ++: Метапрограмування за допомогою API компілятора, а не з функціями C ++
Це почалося як питання SO, але я зрозумів, що це досить нетрадиційно, і, виходячи з фактичного опису на веб-сайтах, він може бути краще підходить для програмістів.se, оскільки питання має велику концептуальну вагу. Я вивчав кланг LibTooling, і це дуже потужний інструмент, здатний викрити всю " солону крупу " коду по-дружньому, …

5
Коли API вважається вбудованим DSL?
Яка різниця між API та вбудованою доменною мовою (DSL)? Це просто синтаксис? Розглянемо такий API, як OpenGL. Чим це відрізняється від графічного DSL? Іншими словами, якщо API достатньо складний, чи можна його вважати вбудованим DSL?
10 api  dsl 

1
Найкращі практики впровадження MVVM та MVC в delphi Pascal
Я програміст паскаль Delphi, використовую останню версію Embarcadero delphi XE, і я хотів би скористатися такими моделями дизайну, як контролер перегляду моделі та модель подання виду. Однак, в Інтернеті, здається, не так багато про кращі практики для цього в мові Pascal. Більшість прикладів, які я можу знайти, є на C …

2
Чи можу я, як автор та правовласник, передати ліцензію свого коду під ліберальнішу ліцензію після того, як він буде опублікований під більш обмеженою ліцензією?
Скажімо, наприклад, я опублікував свій код під GPL. Через місяць після звільнення я вирішую, що злі корпорації ( *кашель *) врешті-решт можуть використовувати мій код, оскільки він такий геніальний і без помилок. Чи можу я просто передати ліцензію власного коду, чи заблокував себе, не маючи права це робити?
10 licensing  gpl 

2
До сховища чи не до сховища
Коли я вперше дізнався про дизайн, керований доменом, мене також ознайомили з сховищем та одиницею роботи, які колись здавались найкращими для крутих дітей, які кидали запити SQL, як печери, проти баз даних. Чим глибше я заглиблювався в цю тему, тим більше я дізнався, що вони, здається, вже не потрібні через …

2
Який рекомендований підхід для допоміжних функцій у JavaScript?
Який рекомендований підхід для допоміжних функцій? Я хотів би вибрати одну техніку і побігти з нею, щоб створити свій новий "клас". Ось варіанти дизайну, про які я розмірковував: Варіант 1: Функція помічника у зовнішній області, виклик із контекстом екземпляра function createPane (pane) { // logic to create pane var proto …

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