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

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

4
Використовуйте склад та успадкування для ДТО
У нас є веб-API ASP.NET, який надає API REST для нашої програми на одній сторінці. Ми використовуємо DTO / POCO для передачі даних через цей API. Проблема полягає в тому, що ці DTO з часом збільшуються, тому тепер ми хочемо відновити DTO. Я шукаю "найкращі практики", як створити DTO: В …
13 rest  api-design  web-api  dto  poco 

5
Чистий JavaScript на передньому кінці з веб-API проти MVC-переглядів з ajax
Це було більше обговоренням того, що думають народи сьогодні про те, як розділити веб-додаток. Я звик створювати додаток MVC з усіма його переглядами та контролерами. Як правило, я створюю повний вигляд і передаю його назад до браузера за запитом на повну сторінку, якщо тільки немає конкретних областей, які я не …

5
Чому вихід компілятора називається об'єктним кодом?
З есеї Мови програмування, пояснені Полом Гремом, опубліковані в « Хакерах і живописцях» : Мова високого рівня, якою ви подаєте компілятор, також відома як вихідний код , а машинний переклад, який він створює, називається об'єктним кодом . З статті Вікіпедії про об'єктний код : Об'єктний код або іноді об'єктний модуль …

2
Чи правда, що "Реальні програмісти можуть писати збірний код будь-якою мовою".
Справжні програмісти можуть писати збірний код будь-якою мовою. (Ларрі Уолл). Наскільки я можу зрозуміти, містер Ларрі Уолл намагається сказати, що для реального програміста будь-яка мова може мати таку ж функціональність, як і ASM. Але я серйозно не розумію. Як можна писати збірний код мовами високого рівня, такими як Perl, Python, …

8
Яким має виглядати резюме програміста самоучки / без досвіду? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . Я задав запитання ще раз про те, чи знаєте, коли ви готові шукати роботу, …
13 resume 

3
Чи використовувати макроси C / C ++ як ярлик для умовної компіляції є хорошою практикою?
Скажімо, я хочу мати кілька типів вихідних повідомлень у своєму коді. Один з них - це DEBUG, який друкується лише тоді, коли код складається в режимі налагодження. Зазвичай мені доведеться написати щось подібне #ifdef DEBUG std::cout << "Debug message" << std::endl; #endif що досить громіздко і дратівливо використовувати у багатьох …
13 c++  c  macros 

7
Збереження високочастотних подій до бази даних з обмеженням зв'язку
У нас виникла ситуація, коли мені доводиться стикатися з масовим напливом подій, що надходять на наш сервер, в середньому близько 1000 подій в секунду (пік може бути ~ 2000). Проблема Наша система розміщується на Heroku та використовує відносно дорогий БД Heroku Postgres , який дозволяє максимум 500 підключень до БД. …

5
Отримання ВСІХ розробників робити огляди коду
Я розробник програмного забезпечення в команді розробників 7-8. Ми перевіряємо код вже досить давно, і якість коду з часом покращувалася. Однак я нещодавно помітив, що деякі розробники просять більше оглядів коду, ніж інші. Боюся, це через їх гнучко ставлення. На мою думку, це не так, як слід робити перевірку коду: …

3
Використання статичної перевірки типу для захисту від бізнес-помилок
Я великий фанат перевірки статичного типу. Це заважає вам робити такі дурні помилки: // java code Adult a = new Adult(); a.setAge("Roger"); //static type checker would complain a.setName(42); //and here too Але це не заважає вам робити такі дурні помилки: Adult a = new Adult(); // obviously you've mixed up …

2
Якщо я запізнююсь, щоб зробити ліцензію на програмне забезпечення репо, чи всі попередні зобов’язання не пов'язані з ліцензією?
Припустимо, у мене є приватний проект із 100 комітами. Я не додаю ліцензію на програмне забезпечення до 101-ї фіксації. Якщо я роблю проект з відкритим кодом, чи означає це, що всі перші 100 зобов’язань не пов'язані ліцензією на програмне забезпечення в 101-й комісії? Чи повинен проект бути переобладнаний, коли додається …

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

2
Стек, що розширює LinkedList. Порушення принципу заміни Ліскова?
Клас LinkedList існує з такими функціями, як add_first (), add_last (), add_after (), remove_first (), remove_last () та remove () Тепер існує клас Stack, який забезпечує такі функції, як push (), pop (), peek () або top (), і для реалізації цих методів він розширює методи класу LinkedList. Це порушення …

1
Чи повинні користуватися мікросервісами?
Ми намагаємося визначити найкращий спосіб авторизувати користувачів в архітектурі мікросервісу, забезпечуючи при цьому мікросервіси обмеженими дозволами. Наша архітектура використовує центральну службу авторизації для обробки видачі JWT жетонів. У нас є такі вимоги: Користувачів слід обмежувати виконувати певні ролі. наприклад, користувач повинен мати можливість створювати / змінювати / читати вміст, який …

3
Як зробити автоматизовані тести популярними? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 2 роки тому . Наша кодова база зростає вже 20 років. Ми близько 10 devs + sqa працюємо …

3
Як слід керувати константами на кількох мовах?
У мене є ситуація, коли я підтримую те, що функціонально є однією бібліотекою на декількох мовах. Часто між ними потрібно ділити константи (наприклад, ключі імені поля json або коди помилок). Я зараз це роблю, маючи код, що визначає константи в кожній мові. Проблема полягає в технічному обслуговуванні. Якщо я додам …
13 design  packages 

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