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

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

14
Чи слід використовувати дужки в логічних висловлюваннях, навіть якщо це не потрібно?
Скажімо, у мене булева ситуація, a AND b OR c AND dі я використовую мову, де ANDпрецедент вищого порядку функціонування ніж, ніж OR. Я можу написати цей рядок коду: If (a AND b) OR (c AND d) Then ... Але насправді це рівнозначно: If a AND b OR c AND …

7
Корабель Тесея застосовано до GPL - Чи можу я переузначити свою програму, якщо заміню всі похідні частини?
Я перевів на GPLv2 Cпрограми для Python, але знайшов , що це було важко розширити , як спроектовано і переписав значну частину його. Програма зараз структурно зовсім інша, але є кілька дослівно перекладених функцій у використанні. Корабель Тесея Paradox (як зазначено у Вікіпедії) «піднімає питання про те, чи залишиться об'єкт …
99 licensing  gpl 

5
Чому до інтерфейсів Java 8 додавали статичні методи за замовчуванням, коли у нас вже були абстрактні класи?
У Java 8 інтерфейси можуть містити реалізовані методи, статичні методи та так звані "типові" методи (які класам реалізації не потрібно переосмислювати). На мій (напевно, наївний) погляд, не було потреби порушувати такі інтерфейси. Інтерфейси завжди були контрактом, який ви повинні виконати, і це дуже проста і чиста концепція. Зараз це поєднання …

14
Чи погана практика писати код, який спирається на оптимізацію компілятора?
Я вивчив деякі C ++, і часто доводиться повертати великі об'єкти з функцій, створених у межах функції. Я знаю, що є пропуск за посиланням, повертає вказівник і повертає рішення посилального типу, але я також читав, що компілятори C ++ (і стандарт C ++) дозволяють оптимізувати повернене значення, що дозволяє уникнути …
99 c++  performance 

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

6
Стек і купа пам'яті на Java
Як я розумію, у Java стек-пам'ять містить примітиви та виклики методів, а пам'ять купи використовується для зберігання об'єктів. Припустимо, у мене є клас class A { int a ; String b; //getters and setters } Де буде зберігатися примітив aу класі A? Чому взагалі існує пам'ять купи? Чому ми не …

12
Чи слід уникати приватних методів, якщо виконую TDD?
Я тільки зараз вивчаю TDD. Наскільки я розумію, що приватні методи не піддаються застосуванню і не варто їх турбувати, оскільки загальнодоступний API надасть достатньо інформації для перевірки цілісності об'єкта. Я деякий час розумів ООП. Я розумію, що приватні методи роблять об'єкти більш інкапсульованими, тим самим стійкішими до змін та помилок. …

19
Як наставити молодшого розробника
Цей заголовок трохи широкий, але мені може знадобитися трохи ознайомитись, перш ніж я зможу правильно поставити запитання. Я знаю, що тут вже задавались подібні запитання . Але в моєму випадку я не запитую, чи варто мені когось наставляти, чи людина цілком підходить для того, щоб бути розробником програмного забезпечення. Це …
99 culture  mentor 

8
Різниця між '\ n' і '\ r \ n'
Да да, я знаю , що '\n'пише новий рядок в UNIX в той час як для Windows , існує послідовність два символу: '\r\n'. Все це дуже добре в теорії, але моє питання чому ? Чому символ повернення каретки є додатковим у Windows? Якщо UNIX може це зробити, \nчому для цього …


11
Як ви виявляєте проблеми залежності залежними тестами під час використання макетних об'єктів?
У вас є клас X, і ви пишете деякі одиничні тести, які підтверджують поведінку X1. Існує також клас A, який приймає X як залежність. Коли ви пишете одиничні тести для A, ви знущаєтесь з X. Іншими словами, під час тестування одиниці A ви встановлюєте (постулюєте) поведінку макету X як X1. …

9
Який сенс запускати одиничні тести на сервері CI?
Навіщо проводити одиничні тести на сервері CI? Напевно, до моменту, коли щось буде вчинено, розробник вже запустив усі тести одиниці раніше і виправив помилки, які могли виникнути з їх новим кодом. Чи не в цьому суть одиничних тестів? Інакше вони просто вчинили зламаний код.

6
Чому теги <b> та <i> застаріли?
Це питання виникло на одному з моїх занять у коледжі. Професор тільки дав відповідь , що він був більш описовий характер, але це , здається , ніби &lt;b&gt;і &lt;i&gt;досить явно в їх сенс і простіше набрати , ніж &lt;strong&gt;та &lt;em&gt;. Якими були офіційні аргументи щодо знецінення цих тегів?
98 html  deprecation 

9
Чому важко зробити програму Java "здаватися рідною"?
Більшість програм Java не виглядають так, як програми C / C ++. Swing, можливо, був розроблений спеціально, щоб мати розрізнений вигляд, але виходячи з того, що я прочитав, SWT, наприклад, намагався "виглядати рідним", і це не досягає успіху. Моє запитання: Чому розробникам мови Java важко розробити систему GUI, яка точно …
98 java  gui 

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

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