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

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

3
Чи вважається функція, яка отримує значення від іншої функції, чистою?
Я намагаюся розібратися з способом обробки значень змінних за замовчуванням при створенні функцій без побічних ефектів і закінчився наступним: function getDefaultSeparator() { return ':'; } function process(input, separator) { var separator = separator || getDefaultSeparator(); // Use separator in some logic return output; } Розділювач за замовчуванням буде використовуватися в …

1
Комп'ютерна архітектура НЕ заснована на масивах [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Він каже оригінальний документ Вадлера про «Монади функціонального програмування» (Haskell) Ще одне питання з …

1
Чи повинен у MVP-образі View представити об'єкт Model на основі вмісту інтерфейсу або просто передати цей вміст як параметри презентатору?
Я використовую шаблон MVP в додатку для Android, який я розробляю. У мене в основному 4 елементи: AddUserView, де можна додати нового користувача: AddUserPresenter UserInfo (pojo) UserInfoManager (логіка бізнесу та менеджер зберігання) Моє запитання: Коли я натискаю кнопку "Додати" в AddUserView, він повинен отримати вміст перегляду тексту, створити інстанцію нового …

1
Що банки насправді використовують як тип даних для грошей? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Я знаю кілька хороших варіантів : Великі цілі числа (наприклад, int64_t, mpz_t, будь-яка bignum …

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

2
Поступово перемістіть кодову базу до контейнера для ін'єкцій залежностей
У мене є велика база коду з великою кількістю "антидіапазонних" синглтонів, утилітні класи зі статичними методами та класи, що створюють власні залежності за допомогою newключового слова. Це робить код дуже важким для перевірки. Я хочу поступово перенести код на контейнер для ін'єкцій залежності (в моєму випадку це Guice, тому що …

4
Як сперечатися з цією «повністю публічною» умовою дизайну класу бізнес-об’єктів
Ми проводимо багато тестування та рефакторинг наших бізнес-об’єктів, і, здається, у мене дуже різні думки щодо дизайну класів, ніж інші колеги. Приклад класу, який я не шанувальник: public class Foo { private string field1; private string field2; private string field3; private string field4; private string field5; public Foo() { } …

7
Чому не існує більше багатомовних мов програмування?
Чи існують мови програмування, які доступні та розширюються більш ніж однією природною мовою? Наприклад, англійська версія з do..whileциклом, іспанська версія з hacer..mientasциклом, французька версія з faire..pendantі голландська версія з doe..terwijl. Єдиною «мовою програмування», яку я можу придумати для подібного роду програм, це Microsoft VBA. Питання про бонус: Чому так мало …

2
Чи повинен `Vector <float> .Equals` бути рефлексивним чи він повинен дотримуватися семантики IEEE 754?
При порівнянні значень з плаваючою комою для рівності існує два різних підходи: NaNне дорівнює собі, що відповідає специфікації IEEE 754 . NaNрівність собі, що забезпечує математичну властивість рефлексивності, що має істотне значення для визначення відношення еквівалентності Вбудований в IEEE з плаваючою точкою типу в C # ( floatі double) слід …

3
Як поводитися з класами з однаковою назвою (різні пакети)
Я та моя команда з науково-дослідної роботи підтримуємо велику кодову базу. Ми розділили свою бізнес-логіку на кілька пакетів. деякі з яких мають класи з однаковими назвами . Як ви здогадаєтесь, імена конфліктують, коли обидва класи посилаються на один і той же файл Java. Наприклад: com.myapp.model (package) - Device (class) - …

2
Як керувати повідомленнями про авторські права від учасників до ліцензованого проекту BSD
У нас є така ліцензія BSD LICENSE: Copyright (c) 2006-2016 SymPy Development Team All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: a. Redistributions of source code must retain the above copyright notice, this list …

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

2
Програмування до інтерфейсів, орієнтованих на дані
Є частина нашої кодової бази, написана у такому стилі: // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List&lt;IScheduledTask&gt; Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl : IScheduledTask { …

5
Що означає декларувати змінну змінну?
Багато програм низького рівня використовують летюче ключове слово для типів для картографування пам’яті тощо. Однак я дещо плутаюсь з тим, що це дійсно робить у фоновому режимі. Іншими словами, що це означає, коли компілятор не «оптимізує» адресу пам'яті?
9 c++  c  low-level 

1
Здається, приєднання Python орієнтоване не на елементи, які потрібно приєднати, а на символ, порівняно з Ruby або Smalltalk, з причини дизайну?
Я подумав, що одним із наріжних каменів ООП є те, що у нас є об'єкти, які є предметами, з якими ми зацікавлені мати справу, а потім ми надсилаємо їм повідомлення. Тож може здатися природним, що у мене є колекція елементів, і мені потрібно скласти їх в один рядок, щоб це …

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