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

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

10
Прийнятно покладатися на випадкові вставки, які є унікальними?
Я впроваджував мережевий протокол, і мені потрібні пакети, щоб вони мали унікальні ідентифікатори. Поки щойно я генерував випадкові 32-бітні цілі числа, і припускаючи, що це астрономічно малоймовірно, що відбудеться зіткнення протягом життя програми / з'єднання. Це взагалі вважається прийнятною практикою у виробничому коді, чи слід розробити більш складну систему для …

8
Клас, який нічого не представляє - це правильно?
Я просто розробляю свою заявку, і я не впевнений, чи правильно я розумію SOLID і OOP. Класи повинні робити одну справу і робити це добре, але з іншого боку, вони повинні представляти реальні об'єкти, з якими ми працюємо. У моєму випадку я роблю вилучення функції на наборі даних, а потім …

5
Як уникнути типових "динамічних мовних помилок"?
Нещодавно я висипав пару годин у JavaScript, тому що хотів отримати перевагу від масивної бази користувачів. При цьому я помітив закономірність, яку більшість людей приписують динамічним мовам. Ви швидко працюєте, але коли ваш код досягає певного розміру, ви витрачаєте багато часу на помилки типу, написання та рефакторингу. Помилки, від яких …

8
Чи варто кидати виняток у випадку значущого значення поза діапазону або самостійно впоратися з ним?
Я написав структуру, яка представляє координати широти / довготи. Їх значення коливаються від -180 до 180 для довготи і 90 до -90 для широт. Якщо користувач цієї структури дає мені значення поза цим діапазоном, у мене є 2 варіанти: Викиньте виняток (аргумент поза діапазоном) Перетворити значення в обмеження Оскільки координата …

5
Чиста архітектура: використовувати корпус, що містить презентатора або повертаючі дані?
Чистий Архітектура пропонує дозволити випадок використання Interactor назвати фактичну реалізацію провідних (який вводиться, після DIP) для обробки відповіді / дисплея. Однак я бачу людей, що реалізують цю архітектуру, повертають вихідні дані з інтерактора, а потім дозволяють контролеру (у адаптерному шарі) вирішувати, як з ним поводитися. Чи є друге рішення, що …

6
Чи робить перекладач машинний код?
Я інтенсивно вивчаю теми упорядників та перекладачів. Я хочу перевірити правильність мого базового розуміння, тому припустимо наступне: У мене мова називається "Foobish" і її ключові слова є <OUTPUT> 'TEXT', <Number_of_Repeats>; Отже, якщо я хочу надрукувати на консолі 10 разів, я б написав OUTPUT 'Hello World', 10; Привіт World.foobish-файл. Тепер я …

2
Чи є продуктивність єдиною причиною не використовувати SignalR (websockets) повністю замість традиційного API REST?
Я використовував SignalRдля досягнення функцій обміну повідомленнями в реальному часі у кількох своїх проектах. Здається, працює надійно і дуже легко навчитися користуватися. Спокуса, принаймні для мене, - відмовитися від розробки сервісу Web API і використовувати його SignalRдля всього. Я відчуваю, що цього можна досягти продуманим дизайном, і якби це було, …

8
Початок речення з назвою функції? [зачинено]
Іноді під час введення чого-небудь, що стосується чутливої ​​до регістру мови програмування, я починаю речення з назвою функції. Тепер норми англійської мови стверджують, що перше слово в реченні має бути з великої літери; Хоча назва функції - це малі літери. Якщо вам цікаво, що я можу сказати, це призведе до …
42 functions 

10
Чому ваш код не повинен використовувати 100% процесор? [зачинено]
Я конкретно кажу про програму C # .NET 4, що працює на Windows XP або новішої версії, але загальні відповіді також прийнятні. Припустимо вже оптимізовану та ефективну програму. Проблема тут полягає лише у впливі високого використання процесора на апаратне забезпечення, а також про те, чи слід використовувати програму з високим …
42 c#  multithreading  cpu  usage 

3
Чи є номери, які не можуть бути представлені в базі 10, але можуть бути представлені у базі 2?
C#має decimalтип, який використовується для чисел, які потребують точного подання в базі 10. Наприклад, 0.1не може бути представлений у базі 2 (наприклад, floatта double) і завжди буде наближенням, коли зберігається у змінних, що мають ці типи. Мені було цікаво, чи можливий і зворотний факт. Чи є номери, які не можуть …

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

9
Програмування для подальшого використання інтерфейсів
У мене поруч сидить колега, який розробив такий інтерфейс: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Проблема полягає в тому, що зараз ми не використовуємо цей параметр "кінець" ніде в нашому коді, він просто є, тому що, можливо, доведеться використовувати його …

7
Як я зупиняю розробку та починаю архітектуру цього проекту, як запропонував мій керівник? [зачинено]
Я молодший розробник (~ 3 роки досвіду) і на своїй роботі ми працюємо над створенням нової системи. Мій головний розробник буде головним архітектором, однак він кидає виклик мені спробувати архітектуру самої системи (паралельно). Протягом декількох ітерацій ідей мозкового штурму та пропозицій того, що я бачив як архітектурні пропозиції, моє керівництво …

2
Синхронізація даних у мобільних додатках - кілька пристроїв, кілька користувачів
Я хочу розробити свій перший мобільний додаток. Однією з основних особливостей програми є те, що кілька пристроїв / користувачів матимуть доступ до одних і тих же даних - і всі вони матимуть права CRUD. Я вважаю, що архітектура повинна включати центральний сервер, де зберігаються всі дані. Пристрої використовуватимуть API для …
42 database  mysql  data  mobile 

7
Скільки часу я можу провести навчання на роботі? [зачинено]
Я працюю розробником програмного забезпечення вже близько 2 років. Здається очевидним, що в галузі, яка настільки швидко розвивається, як розробка програмного забезпечення, вам потрібно витратити час на вивчення нових технологій, рамок тощо. Я завжди думав, що можу сприймати це як належне, що якщо мені потрібно щось навчитися вирішувати проблему на …

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