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

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

2
Як обробити зміни дизайну для депрекації auto_ptr в C ++ 11?
Ми тестуємо бібліотеку на C ++ 11 (тобто -std=c++11). Бібліотека використовує auto_ptrтаку схему: Foo* GetFoo() { autoptr<Foo> ptr(new Foo); // Initialize Foo ptr->Initialize(...); // Now configure remaining attributes ptr->SomeSetting(...); return ptr.release(); } C ++ 11 застаріло auto_ptr, тому ми хочемо відійти від нього. Однак код підтримує як C ++ 03, …
12 design  c++  c++11 

3
Походження "методу має повернути значення або мати побічні ефекти, але не обидва"
Одного разу я прочитав, що метод повинен або мати повернене значення (і бути референтно прозорим), або мати побічні ефекти, але не обидва. Я не можу знайти жодних посилань на це правило, але хочу дізнатися більше про нього. Яке походження цієї поради? З якої людини чи громади вона виникла? Додатковий кредит: …

1
Організація каталогів сховища CMake (C ++), що містить кілька проектів
Я хотів би отримати кілька порад щодо організації набору пов'язаних, але незалежних проектів C ++, що зберігаються в єдиному (git) сховищі. У проектах використовується CMake. Для спрощеного прикладу ми уявляємо 2 проекти A і B, A залежно від B. Більшість людей, що розробляють A, отримають B через систему упаковки. Таким …

2
UnsupportedOperationException в рамкових інтерфейсах колекцій Java
Переглядаючи рамки колекцій Java, я помітив, що досить багато інтерфейсів мають коментар (optional operation). Ці методи дозволяють реалізовувати класи, UnsupportedOperationExceptionякщо вони просто не хочуть реалізувати цей метод. Прикладом цього є addAllметод у Set Interface. Тепер, як зазначено в цій серії питань, інтерфейси є визначальним договором того, що використання може очікувати. …

3
Чи вважається інтерфейс "порожнім", якщо він успадковується від інших інтерфейсів?
Наскільки я можу сказати, порожні інтерфейси вважають поганою практикою - особливо там, де такі речі, як атрибути, підтримуються мовою. Однак чи вважається інтерфейс "порожнім", якщо він успадковується від інших інтерфейсів? interface I1 { ... } interface I2 { ... } //unrelated to I1 interface I3 : I1, I2 { // …

3
Чи двійкові дерева служать певній меті для зберігання ієрархічних даних? У чому полягає їх канонічне використання?
Я розумію структуру двійкових дерев і як їх перетинати. Однак я намагаюся усвідомити їх фактичне використання, цілі в програмах та програмуванні. Коли я замислююсь над „реальним життям” на прикладі ієрархічних даних, вони майже напевно мають понад 2 дітей. Наприклад, у родинному дереві мати часто може мати більше двох дітей. Чи …

2
Структура упаковки колекцій Java (java.util) - чому Iterable сидить у java.lang?
Відповідно до нижченаведеної діаграми, крім інтерфейсу Iterable, всі інші конструкції (інтерфейс / клас / абстрактний клас) сидять в одному пакетіjava.util Чому Iterableсидить у java.langпакеті? Примітка. Намір полягає в тому, щоб зрозуміти аспект упаковки програмування java.

1
Міграція програми Grails на Scala Play / Spray
У нас є веб-додаток Grails середнього розміру за допомогою GORM / Hibernate за PostgreSQL та GSP, що обслуговують HTML, а також кілька API REST. Ми стандартизуємо програму Scala і хотіли б перенести цю програму на Play або Spray, щоб Slick отримав доступ до існуючої бази даних. В даний час Nimble …

2
Як ви проводите тестування \ використання методів TDD для проектів ETL та звітів?
Проекти ETL - це проекти, створені за допомогою інструменту ETL (Extract - Transform - Load), такого як SSIS, PowerCenter тощо Зазвичай вони включають в себе зчитування даних із зовнішнього джерела, завантаження їх у базу даних, а також певні перетворення та завантаження в кінцеву базу даних Простим прикладом може бути використання …
12 unit-testing  sql  tdd 

3
Конкурс тестування одиниць
Мої роботодавці проводять щомісячний конкурс одиничних тестувань. Один цілий день присвячений написанню одиничних тестів - очевидно, ми робимо більше тестувань протягом місяця, але це цілий день - і "переможець" змагань отримує приз. Однак ми знаходимо, що важко визначити, хто переможець. Ми присвоювали бали для кожного тестового випадку. Тож якщо ви …

3
Побудувати автоматизацію проти автоматизації розгортання проти постійної інтеграції
Я хочу стати більш ефективним і хочу ефективно використовувати інструменти Ops. Маючи це на увазі, я хотів дізнатися більше про постійну інтеграцію, але, здається, існує багато різних речей, що стосуються цього. Я фактично працюю з костюмами Jetbrains у своїй роботі (IntelliJ, WebStorm ...), тому я хотів продовжувати їх використовувати, і …

7
яка повинна бути позиція реєстратора в списку параметрів [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . У своєму коді я ввожу реєстратор до багатьох моїх класів через список параметрів їх …

2
Чому "блискавка" ігнорує звисаючий хвіст колекції?
C # , Scala, Haskell, Lisp і Python мають однакову zipповедінку: якщо одна колекція довша, хвіст мовчки ігнорується. Це також може бути винятком, але я не чув жодної мови, використовуючи цей підхід. Це мене спантеличує. Хтось знає причину, чому так zipстворено? Я думаю, що для нових мов це робиться, тому …

4
Сформулювання вимоги щодо кодування імені файлів
Я зараз складаю специфікацію вимог, і у мене виникає дилема в тому, щоб сформулювати частину вимог. Сценарій: ми завантажуємо файли з веб-сайту, і завантажені файли потрібно приєднати до елемента інструменту CM. Завантажені файли містять імена, які можуть бути ASCII, ISO-8859-1, японські тощо. У фразах нижче, чи охоплює "не ASCII" всі …

1
Увійдіть до файлу чи до таблиці баз даних?
Я розробляю веб-додаток, який використовує MS SQL для різних даних: включаючи користувачів, облікові записи користувачів, ліцензії користувачів, ціни на ліцензії, рахунки-фактури. Мені потрібно реєструвати користування системою в режимі реального часу та використовувати це для щомісячного виставлення рахунків: наприклад, журнал кожного разу, коли користувач отримує певну сторінку / URL-адресу та виставляє …

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