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

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

4
Чи є загальноприйняті вказівки щодо того, як писати сучасний C?
У мене сильний Java / Groovy фон, і я був призначений до команди, яка підтримує досить велику базу коду С для адміністративного програмного забезпечення. Деякі больові моменти, як, наприклад, робота з кровотоком у базі даних або генерування звітів у форматі PDF та Excel, були екстерналізовані до веб-сервісу Java. Однак, як …
13 c  maintenance 

4
Як заохотити молодших розробників брати участь у перегляді коду?
Зараз я працюю старшим розробником з 3 юніорами нижче мене і запровадив процес перегляду коду, щоб допомогти досягти якості коду, що надходить у виробництво. Я вважаю, що для всіх нас дуже корисно переглядати роботу один одного, проте приблизно через 5 тижнів процесу я єдиний, хто коментує цей інструмент (BitBucket). Я …

3
Це поганий дизайн OOP для моделювання, що включає інтерфейси?
Я розробляю власну маленьку програму OOP для імітації вампірів, вовків, людей та вантажівки і намагаюся реалізувати власне обмежене розуміння інтерфейсів. ( Я все ще резюмую тут і ще не маю реалізації коду, тому це швидше питання дизайну OOP ... Я думаю!) Чи правильно я шукаю «спільну поведінку» між цими класами …

1
Чому розділові знаки в таблиці ASCII є повсюдно?
У таблиці ASCII знаки пунктуації відображаються між символами, які не друкуються, і перед цифрами ( !"#$%&')*+,-./), між цифрами та великими літерами ( :;<=>?@), між великими літерами ( [\]^_`) та малими літерами та після малих літер ( {|}~). На перший погляд, можна було б очікувати, що вони згрупуються; можливо або перед …
13 strings  ascii 

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

5
Чому статичні методи не мають змоги бути переборними?
У відповідях на це питання загальний консенсус полягав у тому, що статичні методи не повинні бути перекритими (і, отже, статичні функції в C # не можуть бути віртуальними або абстрактними). Однак це не лише у C #; Java також забороняє це, і C ++, схоже, також не подобається. Однак я …

3
Це гарна ідея мультиплексного блокування потоків у TCP-з'єднання?
Мені потрібно кілька дуплексних каналів між двома хостами. Існує ряд переваг для встановлення лише одного TCP-з'єднання. Але я сумніваюся, що мультиплексування спричинить неминучі проблеми. Чи це завдасть шкоди продуктивності або збільшить затримку? А як щодо використання пам'яті та використання процесора? Чи є якась пропозиція чи застереження, які ви хочете дати?

5
Методи забезпечення сумісності між платформами (C ++)?
Я закінчував один із моїх ранніх проектів на C ++, який (згідно з рамками) повинен бути кросплатформним. Я повністю розробив проект в Windows і Visual Studio, думаючи, що оскільки бібліотеки все є платформними, то робити збірку OSX "пізніше" було б тривіально. Це виявилося не так, але, скоріше, "код Windows" не …

4
Чи може С-структура поводитись так, ніби вона мала функцію?
Я використовую C і structs, де структура може мати членів, але не функцій. Припустимо для простоти, що я хочу створити структуру для рядків, які я називаю, strі я хочу бути в змозі робити, str.replace(int i, char c)де iє індекс рядка і cє символом, який замінить символ у позиції i. Чи …

5
Відповідно до закону Деметра, чи дозволяється класу повернути одного зі своїх членів?
У мене є три питання, що стосуються закону Деметра. Крім класів, які були призначені спеціально для повернення об'єктів - наприклад, заводські та будівельні класи - чи нормально метод повернення об'єкта, наприклад, об'єкт, який міститься в одному з властивостей класу, чи чи порушує закон деметера (1) ? І якщо це порушує …

2
Як піти на тестування неін'єкційного коду?
Тож у мене є наступний фрагмент коду, який використовується у всій моїй системі. Зараз ми пишемо одиничні тести заднім числом (краще пізніше, ніж ніколи не було моїм аргументом), але я не бачу, як це було б перевірено? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter …

5
Як змусити Scrum працювати над командою з визначеними ролями?
Довідкова інформація Я є частиною внутрішньої команди розробників програмного забезпечення. Він складається з 5 розробників (зі стажем від 2 до 5 років, я один з них) 3 співробітники з впровадження (вони займаються розгортанням та навчанням програмного забезпечення) та 1 керівник проекту. Ми розробляємо безліч малих та середніх проектів, і їх …

2
Чи свідчить про те, що багато заяв про використання / імпорт свідчить про поганий дизайн або запах коду?
Як правило, я бачу декілька, що використовують оператор у верхній частині файлу класу. Приклад: using System.Collections.Generic; using System.IO; using System.Xml.Linq; Але в проекті, над яким я працюю, я декілька разів бачу 20 або більше вживань / імпортів у одному файлі класу. Це поганий дизайн? Здається, що класи, призначені для виконання …

3
Забезпечення локальних ресурсів JS та CSS для відсидів CDN
Враховуючи це CDN - це хороша річ, оскільки вони можуть обслуговувати ресурси ближче до клієнта, клієнт може кешувати їх, а ви можете зменшити навантаження на свій власний сервер. У останніх веб-переглядачах завантаження ресурсів із сторонніх серверів не знижує безпеку завдяки Integrity Subresource (SRI) . CDN можуть бути відключені або заблоковані …
13 javascript  css  cdn 

4
Якщо мій IDE такий розумний, навіщо мені робити "clone ()"?
Мій тип IDE ( NetBeans ) перевіряє мій Collectionsпід час введення коду. Але тоді, чому я повинен кидати повернутий об'єкт Object.clone()? Що добре. Ні шкоди, ні фолу. Але все-таки я не розумію. Чи неможлива перевірка типу без кастингу поверненого об'єкта Object.clone()? Дженерики структура змушує мене думати IDE може перевірити тип …

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