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

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

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

12
Чи погана практика передавати екземпляри через кілька шарів?
У своєму дизайні програми я часто приходжу до того, що мені доводиться передавати екземпляри об'єктів через кілька класів. Наприклад, якщо у мене є контролер, який завантажує аудіофайл, а потім передає його програвачеві, а плеєр передає його програвачевіRunnable, який передає його знову кудись інше і т. Д. Це виглядає погано, але …

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

12
Невже ловити загальні винятки насправді погано?
Я зазвичай згоден з більшістю попереджень про аналіз коду, і я намагаюся їх дотримуватися. Однак мені з цим важче: CA1031: Не вловлюйте загальні типи виключень Я розумію обґрунтування цього правила. Але на практиці, якщо я хочу вжити однакових дій незалежно від кинутого винятку, чому я б поводився з кожним конкретно? …
57 c#  design  exceptions 

10
У яких випадках менше коду не краще? [зачинено]
Останнім часом я відновив деякий код на роботі, і думав, що зробив гарну роботу. Я скинув 980 рядків коду до 450 і вдвічі зменшив кількість занять. Коли показували це моїм колегам, деякі не погоджувались, що це було покращення. Вони сказали - "менше рядків коду не обов'язково краще" Я можу бачити, …

6
Чи цикл подій є лише циклом for / while з оптимізованим опитуванням?
Я намагаюся зрозуміти, що таке цикл подій. Часто поясненням є те, що в циклі подій ви робите щось, поки не отримаєте сповіщення про те, що подія сталася. Потім ви впораєтеся з подією та продовжуєте робити те, що робили раніше. Зобразити наведене визначення із прикладом. У мене є сервер, який 'слухає' …

10
Що означає "Користувач не повинен приймати рішення про те, чи це Адміністратор чи ні. Привілеї чи система безпеки повинні ".
Приклад, використаний у запитанні, передає мінімальну кількість даних щодо функції, що стосується найкращого способу визначення того, користувач є адміністратором чи ні. Одна поширена відповідь: user.isAdmin() Це підштовхнуло коментар, який повторювався кілька разів і багато разів голосувався: Користувач не повинен вирішувати, чи це Адміністратор чи ні. Привілеї чи система безпеки повинні. …

13
Як перестати витрачати час на проектування архітектури [закрито]
Нещодавно я закінчив університет і почав працювати програмістом. Мені не важко вирішити "технічні" проблеми або не налагоджувати речі, які, як я б сказав, мають 1 рішення. Але, здається, існує клас проблем, який не має одного очевидного рішення - такі речі, як архітектура програмного забезпечення. Ці речі мене бентежать і завдають …

9
Чому б не відкрити первинний ключ
В моїй освіті мені сказали, що це недосконала ідея викрити користувачеві фактичні первинні ключі (не тільки ключі DB, але й усі первинні аксесуари). Я завжди вважав це проблемою безпеки (тому що зловмисник може намагатися читати речі не свої). Тепер я маю перевірити, чи має право користувач все-таки отримати доступ, тож …

4
TDD - Зовні в та проти
Яка різниця між створенням програми Outside In проти побудови її Inside Out за допомогою TDD? Це книги, які я читав про тестування TDD та модулів: Тестова розробка: за прикладом розробки тестових програм: Практичний посібник: Практичний посібник Рішення в реальному світі для розробки високоякісних рам PHP та програм для тестових програм …

12
Як зробити крок назад і подивитися на код свіжими очима? [зачинено]
Я провів останній рік, як команда, яка працювала в одиночку, розробляючи додаток для багатих клієнтів (35 000+ LoC, для чого це варто). Наразі стабільно і у виробництві. Однак я знаю, що мої навички були іржавими на початку проекту, тому без сумніву, в коді є основні проблеми. На даний момент більшість …

11
Як я можу уникати каскадних рефактори?
У мене є проект. У цьому проекті я хотів переробити його, щоб додати функцію, і я відновив проект, щоб додати функцію. Проблема полягає в тому, що коли я закінчив, виявилося, що мені потрібно внести незначну зміну інтерфейсу, щоб його вмістити. Тож я змінив. І тоді споживчий клас не може бути …

15
Чи нормально думати про проблему дизайну цілими днями без написаного коду? [зачинено]
Іноді я пильно дивлюся в простір або ескізую ідеї і пишу на папері кілька псевдокодів. Потім я його подряпую і починаю заново, тоді, коли я думаю, що у мене є правильне рішення проблеми, я починаю писати код. Це нормально днями думати, не писаючи жодного коду? Це ознака того, що я …
52 design 

1
Як ви проектуєте програми на Haskell або інших функціональних мовах програмування?
У мене є досвід роботи з об'єктно-орієнтованими мовами програмування, такими як c # або ruby. Я знаю, як проектувати програму в об'єктно-орієнтованому стилі, як створювати класи та об'єкти та як визначати відносини між ними. Я також знаю деякі схеми дизайну. Як люди пишуть функціональні програми? Як вони починаються? Чи існують …

9
Чи слід оберігати від несподіваних значень зовнішніх API?
Скажімо, ви кодуєте функцію, яка бере вхід із зовнішнього API MyAPI. Цей зовнішній API MyAPIмає контракт, в якому зазначено, що він поверне а stringчи a number. Є чи він рекомендував , щоб захиститися від таких речей , як null, undefined, booleanі т.д. , навіть якщо це не частина API з …

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