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

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

8
Чи однакова середня кількість помилок у локальній мережі для різних мов програмування? [зачинено]
Мені сказали, що середня кількість помилок / дефектів у рядку коду є "постійною" для різних мов програмування. 10 KLOC Ruby матиме таку ж кількість помилок, що й 10 KLOC c ++. Аргумент зазвичай використовується для сприяння використанню експресивних мов (думаю, python / ruby ​​over c ++ / Assembly), оскільки кількість …

3
Виписки про авторські права у вихідному коді [закрито]
З того часу, як я розпочав програмування, я побачив заголовок у верхній частині більшості файлів коду, що вказує на певне авторське право: /* Copyright (c) 1998 Innotech */ або /* Copyright (c) 1998-2008 Innotech */ Концептуально я розумію ідею ... залежно від ваших бажань / потреб вона приблизно перекладається десь …

7
Введіть змінні кастингу в PHP, що є практичною причиною цього?
PHP, як більшість із нас знає, має слабку типізацію . Для тих, хто цього не робить, PHP.net каже: PHP не вимагає (або підтримує) явного визначення типу в оголошенні змінної; Тип змінної визначається контекстом, в якому використовується змінна. Любіть це або ненавидите його, PHP повторно передає змінні на ходу. Отже, дійсний …

4
Яким способом користуються послуги низхідної та нижньої течії?
У системі, що складається з декількох служб, що дзвонять один одному (наприклад, Front End -> Backend -> Storage), я часто чув людей, які використовують термінологію, таку як послуги "низхідній лінії" або "вище за течією". Мені не ясно, в якому напрямку це означає. Дані потоки в обох напрямках. Запити переходять від …

8
До ООП члени структури даних залишалися загальнодоступними?
Коли структура даних (наприклад, черга) реалізована за допомогою мови OOP, деякі члени структури даних повинні бути приватними (наприклад, кількість елементів у черзі). Черга також може бути реалізована процедурною мовою, використовуючи a structі набір функцій, які працюють на struct. Однак, процедурною мовою ви не можете зробити членів structприватними. Чи члени структури …

4
Поширення винятків: Коли я можу ловити винятки?
MethodA викликає MethodB, який, в свою чергу, викликає MethodC. У методіB або MethodC немає обробляння винятків. Але в MethodA є обробка винятків. У MethodC відбувається виняток. Тепер цей виняток перекидається до MethodA, який обробляє його належним чином. Що з цим не так? На мою думку, в якийсь момент абонент виконує …

2
Роль проти дозволу на основі контролю доступу
Я намагаюся зрозуміти властиву компроміс між ролями та дозволами, коли мова йде про контроль доступу (авторизацію). Почнемо із заданого: у нашій системі Permission буде дрібнозернистим блоком доступу (" Редагувати ресурс X ", " Доступ до сторінки інформаційної панелі " тощо). Роль буде набір дозволів 1+. Користувач може мати 1+ ролей. …

3
Яка різниця між підкласом і підтипом?
Відповідь на це запитання щодо принципу заміни Ліскова має найвищі оцінки для розмежування термінів підтип та підклас . Це також вказує на те, що деякі мови поєднують ці дві, тоді як інші - ні. Для об'єктно-орієнтованих мов, які мені найбільше знайомі (Python, C ++), "type" і "class" є синонімічними поняттями. …

9
Що отримують реляційні бази даних, встановлюючи заздалегідь визначений тип даних для кожного стовпця?
Я зараз працюю з базою даних SQL, і це завжди викликало цікавість, але пошук Google не сильно розгортається: чому строгі типи даних? Я розумію, чому у вас є кілька різних типів даних, наприклад, як важливо відрізняти двійкові та звичайні текстові дані . Замість того, щоб зберігати 1 та 0 двійкових …

4
Чому структури та класи є окремими поняттями в C #?
Програмуючи в C #, я натрапив на дивне рішення дизайну мови, яке я просто не можу зрозуміти. Отже, C # (і CLR) має два сукупні типи даних: struct(тип значення, що зберігається в стеку, без успадкування) і class(тип посилання, зберігається в купі, має спадщину). Ця настройка спочатку звучить приємно, але потім …

2
Чому деякі мови переходять до найближчого цілого числа EVEN?
Мови програмування, як схема (R5RS) та Python ( див. Це запитання ), спрямовуються до найближчого парного цілого числа, коли значення точно знаходиться між навколишніми цілими числами. Які міркування за цим? Чи є математична ідея, яка робить наступні обчислення легшими для міркувань? (R5RS згадує стандарт плаваючої крапки IEEE як джерело такої …

7
Чому метод завершення включений в Java?
Відповідно до цієї посади , ми ніколи не повинні покладатися на метод завершення, який потрібно викликати. То чому ж Java взагалі включила його в мову програмування? Здається жахливим рішенням включити в будь-яку мову програмування функцію, яку можна викликати.

7
Чи може система на 100% керувати даними?
Мій новий начальник вже багато років працює над цим проектом. Я тут лише кілька тижнів, але не впевнений, що це можливо. Він хотів би розробити систему, яка керується даними на 100%. Отже, якщо ми вкладемо достатньо даних, ми можемо визначити та генерувати будь-яку програму. Мені вдалося принаймні змусити його визнати …


11
Чи є змінні помилки антидіаграмою чи хорошим дизайном?
Щоб обробити кілька можливих помилок, які не повинні зупиняти виконання, у мене є errorзмінна, яку клієнти можуть перевіряти та використовувати для викидання винятків. Це анти-шаблон? Чи є кращий спосіб впоратися з цим? Для прикладу цього в дії ви можете побачити API mysqli PHP . Припустимо, що з проблемами видимості (доступними, …

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