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

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

6
Як ви тестуєте кодер?
У мене є щось подібне: public byte[] EncodeMyObject(MyObject obj) Я проводив тестування одиниць так: byte[] expectedResults = new byte[3]{ 0x01, 0x02, 0xFF }; Assert.IsEqual(expectedResults, EncodeMyObject(myObject)); EDIT: Запропоновані два способи: 1) Використання твердо кодованих очікуваних значень, як у наведеному вище прикладі. 2) Використання декодера для декодування кодованого байтового масиву та порівняння …

2
Хто вперше ввів термін функція вищого порядку та / або громадянин першого класу?
Я зрозумів, що задовго до того, як Haskell, O'Caml або LISP, функції вищого порядку були предметом академічного дослідження, а в математиці Schönfinkel (в 1967 р.) І Haskell Curry (1968 р.) Вже застосовували такі методи, як currying, але це до того, як вона була доступна будь-якою мовою програмування Згідно з Вікіпедією …

1
Методи бібліотеки математики мовою програмування Go Go
Я програмував у google Golang і насолоджувався ним завдяки своїй стислість, але мені здається, що майже всі його стандартні методи бібліотеки Math призначені для типу з плаваючою комою. Чи є якась конкретна причина, чому ці методи не існують для ints?

2
Чи є побічні ефекти у Array "кожним" чи "деяким" поганими?
Мене завжди вчили, що побічні ефекти в ifстані - це погано. Що я маю на увазі, це; if (conditionThenHandle()) { // do effectively nothing } ... на відміну від; if (condition()) { handle(); } ... і я це розумію, і мої колеги раді, тому що я цього не роблю, і …

4
У мене є попередній винахід (програмне забезпечення / рамки), яке я планую використовувати на своїй новій роботі. Що відбувається з моїми авторськими правами, якщо я покращую його під час роботи?
Я заповнив цю стандартну форму, де ви перераховуєте свої попередні винаходи перед тим, як розпочати нову роботу, щоб роботодавець юридично знав, що ви маєте на них авторські права. Але якщо я хочу використовувати цей винахід (програмний код / ​​фреймворк) у своїй новій роботі, чи будуть у них претензії щодо авторських …

2
Чи потрібен проект, що має ліцензію на BSD, від кожного учасника?
Сьогодні я прочитав на Fossil SCM «s список розсилки : Проблема з BSD полягає в тому, що ви дійсно повинні отримувати підписану форму від кожного учасника, що стверджує, що їх внесок є BSD. Це автоматично з GPL, оскільки звільнення ваших внесків за сумісною ліцензією є необхідною умовою для перегляду коду …

1
Як уникнути дублювання між моїм трекером випусків та документами із специфікації проекту?
Раніше я працював у професійній консалтинговій фірмі, і ми працювали на багатьох різних контрактних умовах. Коли ми могли отримати проект часу та матеріалів, ми запустили його за допомогою SCRUM і відстежили відставання в нашій системі відстеження випусків. Однак більшу частину часу нам довелося доставляти за контрактом з фіксованою ціною. Для …

2
Машинне навчання за допомогою категоричних та постійних даних
Це питання може йти сюди чи на ТАК, можливо ... Припустимо, ваш навчальний набір даних містить як категоричні, так і постійні дані, такі як ця установка: Animal, breed, sex, age, weight, blood_pressure, annual_cost cat, calico, M, 10, 15 , 100 , 100 cat, tabby, F, 5, 10 , 80 , …

1
Краще використовувати монаду помилок з валідацією у своїх монадійних функціях, або реалізувати власну монаду з валідацією безпосередньо у вашому зв’язку?
Мені цікаво, який дизайн краще для зручності користування / ремонту, а що краще для співтовариства. З огляду на модель даних: type Name = String data Amount = Out | Some | Enough | Plenty deriving (Show, Eq) data Container = Container Name deriving (Show, Eq) data Category = Category Name …

3
Чи підходить "використання" в контексті, коли немає чим розпоряджатися?
У C # usingоператор використовується для детермінованого розпорядження ресурсами, не чекаючи сміттєзбірника. Наприклад, він може використовуватися для: Розпоряджуйте команди або з'єднання SQL, Закрийте потоки, звільнивши основне джерело, як файл, Безкоштовні елементи GDI +, тощо. Я помітив, що usingвикористовується все більше і більше у тих випадках, коли немає чим розпоряджатися, але …

2
Які плюси та мінуси спілкування між процесами Inter здійснюється через сокети та спільну пам'ять?
Я розумію, що двома з багатьох інших варіантів міжпроцесорної комунікації можуть бути: Спільна пам'ять Розетки Насправді я бачив, що ці два варіанти піддаються Intellij Idea для налагодження програми Java. Хочу знати, які плюси і мінуси кожного підходу.

3
Які проблеми пов’язані з набором тексту під час написання компілятора для динамічно набраної мови?
У цій розмові Гідо ван Россум розповідає (27:30) про спроби написати компілятор для коду Python, коментуючи це, кажучи: виявляється, не так просто написати компілятор, який підтримує всі приємні властивості динамічного набору тексту, а також підтримує семантичну коректність вашої програми, щоб він насправді робив те саме, незалежно від того, яку дивність …

4
Константи в C #
Чому компілятор зберігає постійні значення в метаданих збірки? Чи вони безпосередньо вбудовані в код проміжного мови з метаданих збірки?
9 c#  clr  compilation 

1
Багато блокуючих одноразових неблокуючих працівників VS
Припустимо, є HTTP-сервер, який приймає з’єднання, і тоді він якось чекає повного надсилання заголовків. Цікаво, який найпоширеніший спосіб його реалізації та які ще інші плюси та мінуси. Я можу лише думати про це: Багато блокуючих працівників хороші тим, що: Він більш чуйний. Простіше запровадити нові з'єднання (працівники підбирають їх самі, …

1
Класифікація функцій хешу
В Інтернеті я натрапив на таке питання: Класифікуйте функції хешування на основі різних методів, за допомогою яких знайдено ключове значення. з відповідями на кшталт Прямий метод Метод віднімання Метод модульового поділу Метод вилучення цифр Метод середнього квадрату Спосіб складання Псевдовипадковий метод що мені здається дивним. Я думаю, що я знаю …

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