Вопросы с тегом «design»

Вопросы о решении проблем и планировании решения посредством разработки программного обеспечения.

9
Действительно ли шаблоны проектирования действительно важны в наши дни?
Я читал «Программисты на работе» и столкнулся с тем фактом, что некоторые из опрошенных в книге специалистов не так увлечены шаблонами проектирования. Я думаю, что для этого есть две основные причины: Шаблоны дизайна заставляют нас думать по-своему. Другими словами, почти невозможно изобрести что-то новое (возможно, лучше). Шаблоны дизайна не вечны. …

12
Тестируемый код лучше кода?
Я пытаюсь привыкнуть регулярно писать модульные тесты с моим кодом, но я прочитал, что сначала важно написать тестируемый код . Этот вопрос касается твердых принципов написания тестируемого кода, но я хочу знать, полезны ли эти принципы проектирования (или, по крайней мере, не вредны), не планируя писать тесты вообще. Чтобы уточнить …

17
Является ли хорошей идеей спроектировать архитектуру, полагая, что классы пользовательского интерфейса могут быть заменены интерфейсом командной строки?
На странице 25 Code Complete говорится, что неплохо иметь возможность легко заменить обычные классы пользовательского интерфейса на один из командной строки. Зная его преимущества для тестирования, как насчет проблем, которые он может принести? Окажется ли эта дополнительная работа действительно для веб-и мобильных проектов? А как насчет малых и средних проектов; …

6
Почему некоторые программы на C написаны в одном огромном исходном файле?
Например, инструмент SysInternals "FileMon" из прошлого имеет драйвер режима ядра, исходный код которого полностью находится в одном файле из 4000 строк. То же самое для первой когда-либо написанной программы ping (~ 2000 LOC).
88 design  c  source-code 

8
Что такое «мягкое кодирование»?
В этой статье Алекса Пападимулиса вы можете увидеть этот фрагмент: private void attachSupplementalDocuments() { if (stateCode == "AZ" || stateCode == "TX") { //SR008-04X/I are always required in these states attachDocument("SR008-04X"); attachDocument("SR008-04XI"); } if (ledgerAmnt >= 500000) { //Ledger of 500K or more requires AUTHLDG-1A attachDocument("AUTHLDG-1A"); } if (coInsuredCount >= …
87 design 

11
Почему main () должно быть коротким?
Я занимаюсь программированием более 9 лет, и по совету моего первого учителя программирования я всегда держу свою main()функцию чрезвычайно короткой. Сначала я понятия не имел, почему. Я просто повиновался, не понимая, к радости моих профессоров. Получив опыт, я понял, что если я правильно спроектировал свой код, то если бы у …

22
ООП сложно, потому что это не естественно?
Часто можно услышать, что ООП естественно соответствует тому, как люди думают о мире. Но я бы категорически не согласился с этим утверждением: мы (или, по крайней мере, я) концептуализируем мир с точки зрения отношений между вещами, с которыми мы сталкиваемся, но в центре внимания ООП находится разработка отдельных классов и …

18
Недостатки дизайна и борьбы с унижением от него [закрыто]
Вы всегда были в корне верны в проектах программного обеспечения, которые вы предложили? Когда вы даете какой-то дизайн, который был в корне неверным, вы теряете уважение коллег по команде. Независимо от того, что вы делаете после этого, вы в конечном итоге будете перепроверены за все, что вы предлагаете после этого …
84 design 

11
Является ли DRY врагом управления программными проектами?
Одним из самых основных и общепринятых принципов разработки программного обеспечения является СУХОЙ (не повторяйте себя). Также ясно, что большинство программных проектов требуют какого-то управления. Каковы задачи, которыми легко управлять (оценка, график, контроль)? Верно, повторяющиеся задачи, именно те задачи, которых следует избегать в соответствии с DRY. Таким образом, с точки зрения …

9
Я могу написать код ... но не могу хорошо спроектировать. Какие-либо предложения? [закрыто]
Я чувствую, что у меня хорошо получается писать код по частям, но мои проекты действительно ужасны. Вопрос в том, как мне улучшить мой дизайн и, в свою очередь, стать лучшим дизайнером? Я думаю, что школы и колледжи хорошо учат людей тому, как стать хорошими в решении математических задач, но давайте …
83 design  skills 

7
Должен ли я использовать Dependency Injection или статические фабрики?
При проектировании системы я часто сталкиваюсь с проблемой использования множества модулей (журналирование, доступ к базе данных и т. Д.) Другими модулями. Вопрос в том, как мне предоставить эти компоненты другим компонентам. Два ответа кажутся возможными для внедрения зависимости или использования фабричного шаблона. Однако оба кажутся неправильными: Фабрики затрудняют тестирование и …

12
Что на самом деле не так с конечной точкой, возвращающей HTML, а не данные JSON?
Когда я впервые начал изучать PHP (около 5 или 6 лет назад), я узнал об Ajax и прошел «фазы»: Ваш сервер возвращает данные HTML, и вы помещаете их в innerHTML DOM Вы узнаете о форматах передачи данных, таких как XML (и говорите «ооо, значит, для этого он и используется»), а …
77 design  ajax 

16
Должны ли мы разрабатывать программы, чтобы случайно убить себя? [закрыто]
Короче говоря, должны ли мы спроектировать смерть в наших программах, процессах и потоках на низком уровне, для блага всей системы? Неудачи случаются. Процессы умирают. Мы планируем катастрофу и иногда восстанавливаемся после нее. Но мы редко проектируем и реализуем непредсказуемую программу смерти. Мы надеемся, что время безотказной работы наших сервисов будет …
76 design 

4
Почему многие разработчики программного обеспечения нарушают принцип открытого / закрытого?
Почему многие разработчики программного обеспечения нарушают принцип открытия / закрытия , изменяя многие вещи, такие как переименование функций, которые нарушают работу приложения после обновления? Этот вопрос приходит мне в голову после быстрой и непрерывной версий в библиотеке React . Каждый короткий период я ​​замечаю множество изменений в синтаксисе, именах компонентов …

7
Как справиться со случайной сложностью в программных проектах
Когда Мюррея Гелл-Манна спросили, как Ричарду Фейнману удалось решить так много сложных проблем, Гелл-Манн ответил, что у Фейнмана есть алгоритм: Запишите проблему. Думай очень усердно. Запишите решение. Гелл-Манн пытался объяснить, что Фейнман был другим человеком, решающим проблемы, и не было никакого понимания, которое можно было бы получить при изучении его …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.