Запитання з тегом «design»

Питання щодо вирішення проблем та планування рішення за допомогою розробки програмного забезпечення.

6
Рядки жорсткого кодування, які ніколи не зміняться
Отже, в моїх спробах написати програму для сполучення дієслів (алгоритмічно, а не через набір даних) для французької мови, я зіткнувся з невеликою проблемою. Алгоритм сполучення дієслів насправді досить простий для 17-ти або більше випадків дієслів і працює за певною схемою для кожного випадку; Таким чином, суфікси сполучення для цих 17 …
39 design  strings 

12
Документація в ООП повинна уникати вказівки, виконує чи «обчислювач» якісь обчислення?
Програма CS моєї школи уникає будь-якої згадки об'єктно-орієнтованого програмування, тому я читав самостійно читання, щоб доповнити його - конкретно, Об'єктно-орієнтована побудова програмного забезпечення Бертрана Мейєра. Мейєр неодноразово зазначає, що класи повинні приховувати якомога більше інформації про їх реалізацію, що має сенс. Зокрема, він неодноразово стверджує, що атрибути (тобто статичні, не …


5
Збереження об'єкта за допомогою власного методу чи через інший клас?
Якщо я хочу зберегти та отримати об'єкт, чи слід створити інший клас для обробки, чи краще це зробити у самому класі? А може, змішати обидва? Що рекомендується відповідно до парадигми OOD? Наприклад Class Student { public string Name {set; get;} .... public bool Save() { SqlConnection con = ... // …

5
Передати ідентифікатор або об’єкт?
Надаючи метод бізнес-логіки для отримання об'єкта домену, чи повинен параметр приймати об'єкт або ідентифікатор? Наприклад, чи слід це робити: public Foo GetItem(int id) {} або це: public Foo GetItem(Foo foo) {} Я вірю в передачу об'єктів навколо, у всій їх повноті, але як бути з цим випадком, коли ми отримуємо …

5
Найкращі практики використання просторів імен у C ++ [закрито]
Я прочитав чистий код дядька Боба кілька місяців тому, і це мало глибокий вплив на спосіб написання коду. Навіть якби здавалося, що він повторює речі, які повинен знати кожен програміст, зведення їх усіх і втілення їх в життя призводить до набагато більш чіткого коду. Зокрема, я вважав, що розбиття великих …
38 design  c++  namespace 

17
Дизайн програмного забезпечення: побудувати його швидко або добре побудувати?
Створюючи нетривіальне додаток, найкраще зосередитись на тому, щоб швидко працювати над тим, і робити ярлики в коді, наприклад, змішуючи логіку моделі з вашими поглядами, порушуючи інкапсуляцію - типовий запах коду? Або вам краще витратити час наперед, щоб створити більше архітектури, побудуйте її правильно, але ризикуєте, що весь цей додатковий код …

19
Надмірне використання або зловживання методами програмування [закрито]
Чи є якісь методи в програмуванні, якими ви вважаєтесь надмірно використаними (IE використовується набагато надмірно, ніж вони повинні бути), або зловживали ними, або використовували трохи для всього, хоча вони не є справді хорошим рішенням багатьох проблем, які люди намагаються вирішити вирішити з цим. Це можуть бути регулярні вирази, якась схема …
38 design 

3
API REST - Чи повинен API повертати вкладені JSON об'єкти?
Якщо мова заходить про API JSON, чи корисна практика вирівняти відповіді та уникати вкладених JSON-об'єктів? Як приклад, можна сказати, що у нас є API, схожий на IMDb, але для відеоігор. Є кілька об'єктів, ігри, платформи, ESRBRating та GamePlatformMap, які відображають ігри та платформи. Скажімо, ви вимагаєте / game / 1, …
38 design  rest  api-design  json 

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

9
Чи потрібно завжди писати об'єктно-орієнтований код, дотримуючись схему дизайну?
Чи можлива схема дизайну для будь-якої об'єктно-орієнтованої програми? Я запитую це тому, що нещодавно я побачив реалізацію Doorкласу з a Lock. Це було частиною тесту, у відповіді сказано, що код відповідає шаблону Null Object: class Lock { public: virtual void close() = 0; virtual void open() = 0; virtual bool …

5
Що робити, коли перед вами стоїть завдання програмування, якого ви ніколи не робили?
Я розпочав свою кар'єру як .NET розробник 3 місяці тому, і після довгого плану навчання різноманітним технологіям, моделям та концепціям розробники, які мене контролювали, вирішили, що я готовий приєднатися до одного з багатьох проектів, якими займається компанія. Я дуже рада, що нарешті змогла почати кодування. Команда, до якої я приєднався, …

11
Паралельність: Як ви підходите до розробки та налагоджуєте реалізацію?
Я вже декілька років розробляю паралельні системи, і я досить добре розумію цю тему, незважаючи на відсутність офіційної підготовки (тобто немає ступеня). Є кілька нових мов, які стали популярними принаймні говорити останнім часом, розроблені для полегшення одночасності, наприклад, Erlang та Go. Здається, що їхній підхід до одночасності перегукується на моєму …

9
Дизайн для майбутніх змін або вирішення проблеми [закрито]
Під час написання коду чи під час проектування ви намагаєтесь узагальнити проблему на першій інстанції або намагаєтесь вирішити цю дуже конкретну проблему. Я запитую це, оскільки спроба узагальнити проблему має тенденцію до ускладнення речей (що може не бути необхідним), а з іншого боку, буде дуже важко розширити конкретне рішення, якщо …
37 design 

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

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