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

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

5
Чи потрібно в Java використовувати "final" для параметрів та локальних даних, навіть коли мені цього не потрібно?
Java дозволяє позначати змінні (поля / локалі / параметри) як final, щоб запобігти їх повторному призначенню. Я вважаю це дуже корисним із полями, оскільки це допомагає мені швидко зрозуміти, чи мають бути якісь атрибути - чи цілий клас - незмінні. З іншого боку, я вважаю це набагато менш корисним для …
105 java  coding-style  final 

12
Чому наслідування Square з прямокутника буде проблематичним, якщо ми перекриємо методи SetWidth та SetHeight?
Якщо квадрат - це тип прямокутника, то чому квадрат не може успадкувати прямокутник? Або чому це поганий дизайн? Я чув, як люди кажуть: Якщо ви зробили квадратний похід від прямокутника, то квадрат повинен бути корисним у будь-якому місці, де ви очікуєте прямокутник У чому тут проблема? І чому площа може …

22
Автоматичне програмування: код запису, який пише код [закрито]
Прочитавши книгу «Прагматичний програміст» , одним із аргументів, який я вважав найцікавішим, було «написати код, який пише код». Я спробував пошукати в Інтернеті ще кілька пояснень чи статей про це, і, хоча я знайшов хороші статті на цю тему, я все ще не знайшов конкретної реалізації коду чи хороших прикладів. …


6
Що таке домен?
Цей термін я багато бачу в контексті архітектури програмного забезпечення ("модель домену", "дизайн, керований доменом" тощо). Я переглянув це, але отримую тони різних визначень. То що це насправді?

5
Як перехід на мікросервіси створює проблему з робочим часом?
Наступний коментатор пише : Мікросервіси переносять вашу організаційну дисфункцію з проблеми часу компіляції на проблему часу виконання. Цей коментатор розкриває питання, кажучи: Особливість не помилка. Проблема із запуском часу => Проблеми з продуктом => сильніші, швидші відгуки про дисфункцію для відповідальних Тепер я це розумію з мікросервісами : потенційно збільшити …

3
Чому працюють батути?
Я робив деякі функціональні JavaScript. Я думав, що оптимізація Tail-Call була реалізована, але, як виявляється, я помилялася. Таким чином, я повинен був навчити себе батуті . Трохи прочитавши тут і в інших місцях, я зміг знизити основи і сконструював свій перший батут: /*not the fanciest, it's just meant to reenforce …

3
Безпека API REST Зберігається маркер проти JWT проти OAuth
Я все ще намагаюся знайти найкраще рішення для захисту API REST API, оскільки кількість мобільних додатків та API збільшується з кожним днем. Я спробував різні способи аутентифікації, але все ж має деякі непорозуміння, тому мені потрібна порада когось більш досвідченого. Дозвольте розповісти, як я розумію все це. Якщо я щось …
104 security  rest  api  oauth  https 

10
Як зробити більшу кодову базу легше зрозуміти
Припустимо, я розробляю відносно великий проект. Я вже задокументував усі мої класи та функції з Doxygen, однак у мене виникла ідея помістити "примітки програміста" у кожен файл вихідного коду. Ідея цього полягає в тому, щоб пояснити в простому розумінні, як працює певний клас (і не тільки чому, як це робить …

4
Які відмінності між програмуванням на стороні сервера та клієнта?
Я бачив запитання (головним чином щодо Stack Overflow), яким не вистачає цього елементарних знань. Сенс цього питання полягає в наданні хорошої інформації тим, хто її шукає, і тим, хто посилається на неї. У контексті веб-програмування, чим відрізняються програмування на стороні сервера та програмування на стороні клієнта? Які мови належать до …

14
Чи TDD робить захисне програмування зайвим?
Сьогодні у мене була цікава дискусія з колегою. Я оборонний програміст. Я вважаю, що правила " клас повинен гарантувати, що його об'єкти мають дійсний стан при взаємодії з поза класом ", завжди повинні дотримуватися. Причиною цього правила є те, що клас не знає, хто його користувачі, і що він передбачувано …

5
Чи не вказівки щодо використання асинхронізування / очікування використання в C # не суперечать поняттям гарної архітектури та шару абстракції?
Це питання стосується мови C #, але я очікую, що він охопить і інші мови, такі як Java або TypeScript. Microsoft рекомендує кращі практики використання асинхронних дзвінків у .NET. Серед цих рекомендацій виберемо дві: змінити підпис методів асинхронізації, щоб вони повернули Завдання або Завдання <> (в TypeScript це буде Обіцянкою …
103 c#  architecture  async 

4
Яка різниця між папками "lib" та "vendor"?
Щодо ієрархії вихідних папок, завжди є деякі загальні особливості, наприклад src, docабо testпапки, які містять досить простий для розуміння вміст. Однак я зрозумів, що у великих проектів є libі « vendorпапки», і я завжди вважав, що вони однакові, як їх назви натякають на включення «сторонніх librariesіз зовнішніх vendors». Хоча побачити …

14
Як я можу насправді оволодіти мовою програмування?
Я знаю, що, вивчаючи мову, ви можете просто придбати книгу, слідувати прикладами та, коли можливо, спробувати вправи. Але те, що я насправді шукаю, - це як опанувати мову після того, як ви її засвоїли. Тепер я знаю, що досвід є одним з головних факторів, але що стосується вивчення внутрішніх мов, …

12
Чи краще код для тестування?
Я намагаюся ввійти в звичку регулярно писати одиничні тести зі своїм кодом, але я прочитав, що спочатку важливо написати тестовий код . Це питання стосується принципів SOLID написання тестового коду, але я хочу знати, чи корисні ці принципи дизайну (або принаймні не шкідливі), не плануючи взагалі писати тести. Для уточнення …

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