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

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

2
Чому знак специфіку (%) було обрано специфікатором формату для сімейства функцій printf?
Це питання було перенесено із переповнення стека, оскільки на нього можна відповісти на Exchange Software Stack Exchange. Мігрували 7 років тому . Всім відомо, що, принаймні на C, ви використовуєте printfсімейство функцій для друку відформатованого рядка. І ці функції використовують знак відсотка ( %) для позначення початку специфікатора формату. Наприклад, …
27 c  history 

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

2
Чи вважається тест підрозділу крихким, якщо він не працює, коли змінюється бізнес-логіка?
Будь ласка, дивіться код нижче; вона перевіряє, чи може людина, яка має стать жінки, має право на пропозицію1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } Цей одиничний …

5
При перетворенні з цілої на одиничну може втратити точність
Коли я перейшов до частини, я читав статтю від Microsoft про розширювані конверсії та обмеження параметрів Такі конверсії можуть втратити точність: Цілий до одинакового Довгий до одинарного або подвійного Десяткові до одинарних або подвійних Однак ці перетворення не втрачають інформації чи масштабів. .. але згідно з іншою статтею щодо типів …

6
Спритний без одиничних тестів
Чи має сенс говорити про "спритний розвиток" або стверджувати, що ви застосовуєте "спритну методологію", якщо база коду, над якою ви працюєте, має 0% тестового покриття? (І ви, як команда, нічого не робите з цього приводу). Щоб було зрозуміло: для мене це не має сенсу. На моєму особистому досвіді я виявив, …

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

2
Впровадження чистих абстрактних класів та інтерфейсів
Хоча це не є обов'язковим у стандарті C ++, схоже, GCC, наприклад, реалізує батьківські класи, включаючи чисто абстрактні, шляхом включення покажчика на v-таблицю для цього абстрактного класу в кожній інстанції відповідного класу. . Природно, це збільшує розмір кожного примірника цього класу вказівником для кожного батьківського класу, який він має. Але …

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

5
Чи виловлювання / викидання винятків робить інакше чистий метод нечистим?
Наступні приклади коду забезпечують контекст мого запитання. Клас Room ініціалізується делегатом. У першій реалізації класу Кімната немає охоронців проти делегатів, які кидають винятки. Такі винятки будуть переноситись до властивості North, де оцінюється делегат (зверніть увагу: метод Main () демонструє, як у клієнтському коді використовується екземпляр Room): public sealed class Room …

8
Чи можна статично передбачити, коли розібрати пам'ять --- лише з вихідного коду?
Пам'ять (і блокування ресурсів) повертається в ОС у детермінованих точках під час виконання програми. Сам по собі керуючий потік програми достатньо, щоб знати, де, безумовно, може бути розміщений даний ресурс. Так само, як людський програміст знає, куди писати, fclose(file)коли програма робиться з ним. GC вирішують це, з'ясовуючи це безпосередньо під …
27 parsing  memory 

7
Фрустрація з рецензування експертного коду
Я б не називав себе суперзірковим розробником, але відносно досвідченим. Я намагаюся підтримувати якість коду на високому рівні, і завжди прагну вдосконалити мій стиль кодування, намагаюся зробити код ефективним, читабельним та послідовним, а також заохочую команду дотримуватися шаблонів та методологій, щоб забезпечити послідовність. Я також розумію необхідність балансу між якістю …

2
API REST на основі ролі?
Я будую API REST, для якого кілька користувачів з різними ролями матимуть доступ до ресурсів, які він містить. Щоб просто не було простору, візьмемо домен "студент / викладач / клас": GET /students є ресурсом для доступу. Користувачі можуть мати такі ролі, як Студент та / або Вчитель Студенти матимуть доступ …

2
Чим відрізняється функція () від функції (void)?
Я чув, що є гарною практикою писати функції, які не отримують нічого в якості такого параметра: int func(void); Але я чую, що правильний спосіб виразити це так: int func(); Яка різниця між цими двома деклараціями функцій як у C, так і в C ++?

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

3
Скільки роботи потрібно розмістити всередині оператора блокування?
Я - молодший розробник, який працює над написанням оновлення програмного забезпечення, яке отримує дані від стороннього рішення, зберігає їх у базі даних, а потім обробляє дані для використання іншим стороннім рішенням. Наше програмне забезпечення працює як служба Windows. Переглядаючи код попередньої версії, я бачу таке: static Object _workerLocker = new …
27 c#  .net  concurrency  locks 

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