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

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

2
Навіщо використовувати typedefs для структур?
в C (ANSI, C99 та ін.) структури живуть у власному просторі імен. Структура для пов'язаного списку може виглядати приблизно так: struct my_buffer_type { struct my_buffer_type * next; struct my_buffer_type * prev; void * data; }; Однак, здається, цілком природно, що для більшості програмістів на C автоматично вводити такі структури, як …

6
Які недоліки незмінних типів?
Я бачу себе в застосуванні все більше непорушних типів, коли екземпляри класу не будуть змінені . Це вимагає більше роботи (див. Приклад нижче), але полегшує використання типів у багатопотоковому середовищі. У той же час я рідко бачу незмінні типи в інших програмах, навіть коли незмінність нікому не принесе користі. Питання: …
12 c#  immutability 

2
Чи можна запустити змінні / члени підкреслення загадкою компілятора?
Я ще з середньої школи вчив, що визначати такі змінні: int _a; або int __a; слід вважати поганою практикою, оскільки це врешті-решт стане компілятором головоломки, який використовує змінні, починаючи з підкреслення, щоб назвати тимчасові змінні. Наскільки мені відомо, це причина, чому деякі люди люблять переміщувати підкреслення в кінці назви, наприклад: …

4
Як керувати автоматизованими електронними листами, надісланими з веб-програми
Я розробляю веб-додаток, і мені цікаво, як створити архітектуру для управління відправленням автоматизованих електронних листів. В даний час у мене є вбудована функція в моє веб-додаток, і електронні листи надсилаються на основі введення / взаємодії користувачів (наприклад, створення нового користувача). Проблема полягає в тому, що підключення безпосередньо до поштового сервера …


5
викид з програми виконання Java
Я працюю підрядником, розробляючи корпоративну програму Java для свого клієнта в ролі технічного керівника. Додаток буде використовуватися кінцевими користувачами, і буде команда підтримки, яка підтримуватиме додаток, коли ми вирушаємо. Інші технічні поради, з якими я працюю, складаються з враження, що обробка виключень зробить код брудним. Система повинна викидати перевірені винятки …

5
Як я можу визначити, чи є мій комп'ютер Гарвардом чи фон Нейманом?
Я розумію, що різниця між двома архітектурами полягає в відокремленні інструкцій від даних гарвардської архітектури. Але як я можу знати, на якому типі системи я ввімкнувся? Чи можливо написати програму такою, щоб програма визначала, чи є система фон Ноймана чи Гарвард? Чи може бути інша архітектура чи відомі ці архітектури?

8
Чи погана практика включати всі перерахунки в один файл і використовувати їх у кількох класах?
Я прагнучий розробник ігор, працюю над випадковими іграми в Інді, і деякий час займався тим, що спочатку здавалося поганою практикою, але мені дуже хочеться отримати відповідь від досвідчених програмістів. Скажімо, у мене є файл під назвою, enumList.hде я декларую всі переліки, які хочу використовувати у своїй грі: // enumList.h enum …

2
Чому коди помилок заперечуються?
Дуже часто в коді C я бачу заперечення повернених кодів помилок, наприклад return -EINVALзамість return EINVAL. Для чого використовується заперечення?
12 c 

3
Створення шару абстракції над шаром ORM
Я вважаю, що якщо у вас є ваші сховища, використовуйте ORM, що це вже досить абстраговано з бази даних. Однак де я зараз працюю, хтось вважає, що у нас повинен бути шар, який абстрагує ORM у випадку, якщо ми хотіли б змінити ORM пізніше. Це дійсно потрібно чи просто багато …
12 database  orm 

7
Рефакторинг і принцип відкритого / закритого типу
Нещодавно я читав веб-сайт про розробку чистого коду (тут не посилаю посилання, оскільки це не англійською мовою). Один із принципів, що рекламується на цьому веб-сайті, - це принцип відкритого закриття: кожен програмний компонент повинен бути відкритим для розширення та закритим для модифікації. Наприклад, коли ми впровадили та протестували клас, ми …

9
Скопійований і вставлений тестовий код: Наскільки це погано?
Моя поточна робота полягає в основному написанні тестового коду GUI для різних додатків, над якими ми працюємо. Однак я вважаю, що я схильний копіювати і вставляти багато коду в тести. Причиною цього є те, що області, які я тестую, мають тенденцію бути досить подібними, що потребують повторення, але не зовсім …

2
Чи може компільована бібліотека C ++ 11 (lib, dll тощо) бути пов’язана зі старими компіляторами C ++?
Чи можуть старі компілятори C ++ (наприклад, VS2008 та gcc3.4) зв’язуватися із зовнішніми бібліотеками, написаними на C ++ 11? Думаю, що на цьому етапі файли C ++ 11 .lib є лише байтовим кодом, і це не повинно заважати старшим компіляторам про те, як він був створений, доки він якимось чином …
12 c++  c++11 


8
Як змусити розробників своєчасно робити огляди коду
Компанія, над якою я працюю, вимагає, щоб весь код був переглянутий іншими розробниками, перш ніж він буде вчинений. Члени моєї команди часто засмучуються через те, що інші розробники надто зайняті кодуванням, щоб зробити огляд, особливо якщо він дуже довгий. Як стимулювати інших розробників робити своєчасні перевірки коду? (Ми використовуємо git-svn, …

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