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

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

3
Як правильно від'єднати інтерфейс користувача від логіки на додатках Pyqt / Qt?
Я досить багато читав про цю тему в минулому і спостерігав цікаві розмови, як цей від дядька Боба . Тим не менш, мені завжди важко правильно архітектувати свої настільні програми та розрізняти, які повинні бути обов'язки на стороні інтерфейсу, а які - з логічної сторони. Це дуже короткий підсумок передового …
20 design  python  mvc  gui  coupling 

3
Професійний спосіб створити велику проблему без заповнення величезних масивів: C ++, вільна пам'ять з частини масиву
Я розвиваю фізичне моделювання, і оскільки я досить новачок у програмуванні, я постійно стикаюся з проблемами при створенні великих програм (в основному проблеми з пам'яттю). Я знаю про динамічне розподіл пам'яті та видалення пам'яті (new / delete тощо), але мені потрібен кращий підхід до того, як я структурую програму. Скажімо, …
20 c++  data  memory  array  dynamic 

3
Управління власними пакетами NuGet з доступом до вихідного коду
У нас є багато власних бібліотек, якими ми хотіли б поділитися між проектами всередині компанії. Ось деякі вимоги: Бібліотечні джерела зберігаються у сховищах, відокремлених від кінцевих проектів кінцеві проекти включають бібліотеки через NuGet Потрібно мати можливість легко перевірити вихідний код для будь-якої бібліотеки під час роботи над кінцевим проектом Налаштування …

3
Чи варто використовувати git stash для збереження поточних змін мого проекту та підштовхнути його до github для доступу до інших комп’ютерів?
Я дуже часто працюю над деякими особливостями свого проекту, про те, що мені потрібно зробити перерву, перш ніж він буде достатнім для здійснення зобов'язань. Однак я щодня використовую два різних комп’ютери для кодування (мій ноутбук та робочий стіл дослідницької лабораторії). Наприклад: я працюю над функцією вдома, потім зупиняюся і йду …
20 git  github  gitflow 

6
Як видалити функцію чи функцію при використанні TDD
У текстах про TDD я часто читаю про "видалити дублювання" або "покращити читабельність" під час кроку рефакторингу. Але що змушує мене видалити невикористану функцію? Наприклад, скажімо, що існує клас Cз методами a()та b(). Зараз я думаю, що було б непогано мати метод, f()який вводиться в життя C. Фактично f()замінює всі …

5
Які переваги моделювання програмних систем проти того, як робити все це в коді?
Більшість, якщо не всі ІТ-люди, яких я знаю, вважають, що перед кодуванням вигідно моделювати програмне забезпечення з UML або іншими типами діаграм. (Моє запитання не стосується конкретно UML, це може бути будь-який графічний чи текстовий опис дизайну програмного забезпечення.) Я не дуже впевнений у цьому. Основна причина: Код не бреше. …

4
Значення "запам'ятовування" у функціональному програмуванні
Я вирішив взяти на себе завдання вивчити функціональне програмування. Поки що це був вибух, і я "побачив світло" як би там було. На жаль, я насправді не знаю жодного функціонального програміста, від якого я можу відкидати питання. Представляємо обмін стеками. Я проходжу курс розробки веб / програмного забезпечення, але мій …

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

5
Чому тип поєднується зі своїм конструктором?
Нещодавно я видалив мою відповідь Java на Code Review , яка почалася так: private Person(PersonBuilder builder) { Стій. Червоний прапор. PersonBuilder побудував би Person; це знає про Особу. Клас Person нічого не повинен знати про PersonBuilder - це просто незмінний тип. Ви створили тут кругле з'єднання, де A залежить від …

1
Яка різниця між <? розширює Foo> і <Foo>
У мене, здається, є непорозуміння щодо різниці між &lt;Foo&gt;і &lt;? extends Foo&gt;. З мого розуміння, якби ми мали ArrayList&lt;Foo&gt; foos = new ArrayList&lt;&gt;(); Це вказує на те, що об’єкти типу Fooможуть бути додані до цього списку масивів. Оскільки підкласи типу Fooтакож є типовими Foo, їх можна також додавати без помилок, …
20 java  generics 

3
Які причини того, що стек Java / Linux не може бути "реальним часом"?
Я часто чув, як розробники згадують, що Java не може " робити в реальному часі ", тобто додаток Java, що працює на Linux, не може відповідати вимогам детермінованої системи реального часу, наприклад, що працює на RIOT-OS тощо. Я намагаюся зрозуміти, чому . Мій SWAG каже мені, що це, мабуть, багато …
20 java  linux  real-time 

3
Дублювання констант між тестами та виробничим кодом?
Добре чи погано дублювати дані між тестами та реальним кодом? Наприклад, припустимо, у мене клас Python, FooSaverякий зберігає файли з конкретними іменами у заданій директорії: class FooSaver(object): def __init__(self, out_dir): self.out_dir = out_dir def _save_foo_named(self, type_, name): to_save = None if type_ == FOOTYPE_A: to_save = make_footype_a() elif type == …

8
Чи є простіший спосіб перевірити перевірку аргументів та ініціалізацію поля в незмінному об'єкті?
Мій домен складається з безлічі простих незмінних класів на кшталт цього: public class Person { public string FullName { get; } public string NameAtBirth { get; } public string TaxId { get; } public PhoneNumber PhoneNumber { get; } public Address Address { get; } public Person( string fullName, string …
20 c#  unit-testing 

4
Використання плоских файлів проти бази даних / API як транспорту між фронтом і резервним
У мене є додаток, який породив досить бурхливу дискусію між парою розробників. В основному, він розділений на веб-шар і резервний шар. Веб-шар збирає інформацію за допомогою простої веб-форми, зберігає ці дані у вигляді документа JSON (буквально .json-файл) у папку годинника, використовувану заднім кінцем. Задній кінець оглядає цю папку кожні кілька …

5
Чи порушують особливі випадки з запасною системою Принцип заміни Ліскова?
Скажімо, у мене є інтерфейс FooInterfaceіз таким підписом: interface FooInterface { public function doSomething(SomethingInterface something); } І конкретний клас, ConcreteFooякий реалізує цей інтерфейс: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } Я хотів би ConcreteFoo::doSomething()зробити щось унікальне, якщо він передається спеціальному типу SomethingInterfaceоб'єкта (скажімо, він називається …

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