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

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

14
Як навчитися робити кращі оцінки? [зачинено]
Я засмоктую оцінки. Коли хтось запитує у мене, скільки часу щось займе, я навіть не наважуюся здогадуватися, оскільки буду абсолютно поза межею. Зазвичай я занадто оптимістичний, і, мабуть, повинен помножити свої здогадки на якийсь великий X-фактор ... Як я можу навчитися робити кращі оцінки? У моєму університеті це не викладають, …

10
Яка різниця між "випадком використання", "Історією користувача" та "Сценарієм використання"?
Чи є чітке, але просте та зрозуміле визначення різниці між "випадком використання", "Історією користувача" та "Сценарієм використання"? є досить багато пояснень, але зараз я не бачу жодного, який би пояснював відмінності в одному реченні чи двох ... (наприклад, http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComppare дуже довгий і важкий для отримання, повний дискусій)

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

1
як застосовується семантична версія для програм без API
У http://semver.org/ - яка, на мій погляд, здається, найбільш широко застосовується у версії версій - рекомендується збільшити основний номер версії, коли вводиться зміна, яка порушує / модифікує API. Є два пов'язані сценарії, я не бачу, як застосувати цю інструкцію: Що робити, якщо мій код не пропонує API? Як мені версію …


6
Який найкращий спосіб впоратися з рефакторингом великого файлу?
Зараз я працюю над більшим проектом, який, на жаль, має деякі файли, де не завжди дотримуються рекомендації щодо якості програмного забезпечення. Сюди входять великі файли (читайте 2000-4000 рядків), які чітко містять багато різних функціональних можливостей. Тепер я хочу переробити ці великі файли на кілька маленьких. Проблема полягає в тому, що …

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

13
Чи нерозумно очікувати, що будь-який () * не * викине нульовий посилання на виняток?
При створенні методу розширення ви можете, звичайно, назвати його по null.Але, в відміну від методу примірника виклику, виклик його на нуль НЕ має , щоб кинути NullReferenceException-> ви повинні перевірити і кинути його вручну. Для реалізації методу розширення Linq Any()Microsoft вирішила, що вони повинні кинути ArgumentNullException( https://github.com/dotnet/corefx/blob/master/src/System.Linq/src/System/Linq/AnyAll.cs ). Мене це …

9
Чи погана практика JS Boolean, що має власні властивості?
У JS ви можете повернути булеве значення, яке має власні властивості. Напр. коли Modernizr випробовує підтримку відео, він повертається trueабо, falseале повернений Boolean (Bool є об'єктом першого класу в JS) має властивості, що визначають, які формати підтримуються. Спочатку це мене трохи здивувало, але потім мені почала подобатися ідея і почала …

6
Чому б не повернути дати як рядок із бази даних?
У типовому веб-додатку дати отримують із сильно набраного шару бази даних (наприклад, у c # як System.DateTime на відміну від System.String). Коли дату потрібно виразити як рядок (наприклад, відображається на сторінці), перетворення з DateTime у рядок проводиться у рівні презентації. Чому це? Чому погано перетворювати DateTime у рядок на рівні …

5
Чим спінлок відрізняється від опитування?
Чи одне й те саме: Вікіпедія: спінлок - це замок, який призводить до того, що потік намагається придбати його просто зачекати в циклі ("віджимання"), повторно перевіряючи, чи блокування доступне Це звучить жахливо так: while(!ready); Мене навчали уникати опитування, коли це було можливо, оскільки це було недостатньо оптимальним. Отже, чи є …
41 locks  kernel  polling 

6
Чому ми використовуємо слово "спринт"?
Одним із основоположних принципів " Agile Manifesto" є Швидкі процеси сприяють сталому розвитку. Спонсори, розробники та користувачі повинні мати можливість постійно підтримувати постійний темп. Команди Scrum використовують термін спринт для позначення робочого циклу (також відомий як ітерація). Однак це не має для мене сенсу. За даними Google, спринт : бігати …

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

13
Чому потрібно декларувати тип даних під час декларування змінних?
У більшості мов кодування (якщо не у всіх) потрібно оголосити змінні. Наприклад, в C #, якщо його числове поле, тоді int PhoneNumber Якщо я використовую звичайну англійську мову, мені не потрібно заявляти, PhoneNumberяк intнею користуватися. Наприклад, якщо я попрошу свого друга Сема дати мені його номер телефону, я кажу: "Сем …

13
Наскільки безпечно складати фрагмент вихідного коду від випадкового незнайомця? [зачинено]
Припустимо, я переглядаю код, який надсилають претенденти на роботу, щоб підтвердити свою майстерність. Ясна річ, я не хочу запускати виконувані файли, які вони надсилають. Не настільки чітко, я краще не запускатимуть результат компіляції їх коду (просто, наприклад, Java дозволяє приховати виконуваний код у коментарях ). А як скласти їх код? …

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