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

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

7
Коли я повинен використовувати DBIx :: Class Perl?
DBIx :: Class - це популярний інтерфейс Perl до будь-якої бази даних, до якої можна підключитися через DBI . Існує хороша документація щодо її технічних деталей, але мізерна інформація про її правильне використання (включаючи ситуації, коли ви, мабуть, цього не бажаєте). У багатьох ситуаціях люди досягають цього рефлекторно, оскільки думають, …
17 perl 

5
Чи функція негайно нечиста, якщо вона приймає функцію як параметр?
Оскільки чистота вхідного параметра до часу виконання невідома, чи функція негайно вважається нечистою, якщо вона приймає функцію як вхідний параметр? Пов’язано: якщо функція застосовує чисту функцію, яка визначена поза функцією, але не передається як параметр, чи вона все ще чиста, якщо вона відповідає критеріям відсутності побічних ефектів, і вихід залежить …

8
Як я можу написати тести проти сервісної послуги?
Я будую службу на основі даних Google Store Engine Datastore, яка з часом є послідовною сховищем даних. Для моєї заявки це добре. Однак я розробляю тести, які роблять такі речі, як об'єкт PUT, а потім GET-об'єкт і перевіряють властивості повернутого об'єкта. На жаль, оскільки сховище даних зрештою є послідовним, ці …

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

4
Чи користь схеми монад МО для лікування побічних ефектів суто академічна?
Вибачте за ще одне питання щодо FP + побічних ефектів, але я не зміг знайти існуючого, який цілком відповів би на мене. Моє (обмежене) розуміння функціонального програмування полягає в тому, що стан / побічні ефекти повинні бути мінімізовані і триматися окремо від логіки без стану. Я також збираю підхід Хаскелла …

2
Умови ліцензії при перенесенні вільного програмного забезпечення на іншу мову
Я вивчаю ідею перенесення існуючого програмного пакету на іншу мову. Він випускається під ліцензією Apache License 2.0 і розповсюджується безкоштовно; але існує велика різниця між використанням бібліотеки та створенням її копії. Я, звичайно, віддаватиму повний кредит і буду чесним щодо того, звідки він взявся, і я точно не планую заробляти …

5
Що робить функціональні мови програмування декларативними на відміну від імперативних?
У багатьох статтях, що описують переваги функціонального програмування, я бачив мови функціонального програмування, такі як Haskell, ML, Scala або Clojure, які називаються "декларативними мовами", відмінні від імперативних мов, таких як C / C ++ / C # / Java. Моє питання - що робить функціональні мови програмування декларативними, а не …

4
Чи застосовується Принцип єдиної відповідальності щодо функцій?
За словами Роберта К. Мартіна, СРП стверджує, що: Ніколи не повинно бути більше ніж одна причина для зміни класу . Однак у своїй книзі « Чистий код» , глава 3: Функції, він показує такий блок коду: public Money calculatePay(Employee e) throws InvalidEmployeeType { switch (e.type) { case COMMISSIONED: return calculateCommissionedPay(e); …

2
Пошук подій та REST
Я натрапив на дизайн подій Sourcing, і я хотів би використовувати в додатку, де потрібен клієнт REST (RESTful, щоб бути точним). Однак я не можу з'єднати це разом, оскільки REST досить схожий на CRUD, а пошук подій базується на завданнях. Мені було цікаво, як ви можете спроектувати створення команд на …

7
Чому створення екземпляра таким, яким воно є?
Я навчився C # протягом останніх півроку або близько того, і зараз заглиблююся в Java. Моє запитання стосується створення екземплярів (на будь-якій мові, справді), і це більше: мені цікаво, чому вони зробили це саме так. Візьмемо цей приклад Person Bob = new Person(); Чи є причина, що об’єкт вказується двічі? …

5
Чи створюють переліки крихкі інтерфейси?
Розглянемо приклад нижче. Будь-яка зміна перерахунку ColorChoice впливає на всі підкласи IWindowColor. Чи викликають перерахунки крихкі інтерфейси? Чи є щось краще, ніж ентум, щоб дозволити більше поліморфної гнучкості? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; void setColor( const ColorChoice …

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

4
Чи повинен коли-небудь розробник вказувати формат JSON для бек-енд-розробників?
Я беру фронтальну роль у проекті. Чи повинен я вказувати для своїх однокласників точний формат JSON, щоб їх PHP повертався до мого JavaScript? Наприклад, якщо я їм кажу, вони повинні використовувати формат, подібний до описаного тут: Правильний спосіб структурувати JSON для переднього використання Або я повинен зберігати свою роль максимально …

2
Про об'єднання сусідніх літеральних рядків
C і C ++ компілює суміжні літеральні рядки як один рядковий літерал. Наприклад це: "Some text..." "and more text" еквівалентно: "Some text...and more text" В інших мовах сімейства C, таких як C # або Java, це синтаксична помилка (що є абсолютно відмінною BTW). Яке обґрунтування / історична причина для C …

1
Звідки взялося поняття «виклик» функції?
Мені завжди було цікаво, чому хтось викликає функцію, а не, наприклад, виконувати її. Пошук Google function call etymologyта подібні терміни не виявляють нічого корисного, Вікіпедія не згадує про це, в онлайн-словниках взагалі немає жодного запису, або немає розділу з етимології . Звідки взялося поняття «виклик» функції?

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