Советы по работе с одноразовыми / особыми случаями в большой кодовой базе? - PullRequest
1 голос
/ 04 марта 2010

Кто-нибудь может посоветовать, как лучше всего работать с одноразовыми или специальными бизнес-правилами в больших сложных веб-приложениях?

В большинстве случаев поступают запросы от продавцов, которые обещают что-то клиенту.,В качестве простого примера, скажем, кто-то продает переполнение стека.Затем клиент, который разговаривает с торговым представителем, говорит: «Я куплю одну подписку, но только если вы измените цвет фона на сайте на черный, и при отправке мне электронных писем я хотел бы, чтобы вы отправляли на один адрес, когда мне приходят письма»между 9-5 и использовать этот другой адрес в любое другое время дня ".Торговый представитель говорит, что да, нет проблем, сэр.И вы получите код, который усеян кучей

if (customerID == 123) { 
    //do something for this customer
} 

Ответы [ 3 ]

1 голос
/ 04 марта 2010

Обязательно начните вводить профили пользователей и прикреплять их к своим данным клиента. Условная логика жесткого кодирования привнесет дубликат кода, удобство сопровождения, а также сделает вашу систему очень хрупкой. В любое время, когда вам нужно добавить / внести изменения, вы должны ввести время простоя в ваше веб-приложение. Разве не было бы лучше, если бы все они управлялись данными?

1 голос
/ 04 марта 2010

Если вы обязаны выполнять такие разовые специальные случаи:

Абстрагируйте их (чтобы вы могли легко настраивать / хранить эти особые случаи в одном разумном месте, вместо того, чтобы быть жестко закодированными в ваш источник).

У вас будет структура, когда придет следующий (идентичный).

0 голосов
/ 16 ноября 2012

Время от времени я получаю подобные запросы. Я стараюсь изо всех сил отталкивать, где я могу, или абстрагировать эти случаи в конфигурации, а не делать их частью самой кодовой базы. Может быть, вы можете сделать что-то подобное.

В любом случае, вы, вероятно, знаете это, но:

Номер один. Если вы когда-нибудь реализуете функцию просто поскольку это было обещано одному клиенту, КРАСНЫЕ ОПАСНЫЕ СВЕТА должны быть в вашей голове Если вы делаете вещи для одного клиента, у вас либо свободный продавец пушек, либо вы проскальзываете опасно вниз по склону к консалтинговому программному обеспечению. И нет ничего неправильно с консалтинговым программным обеспечением; это очень удобный склон для спуска, но это не так выгодно, как программное обеспечение для термоусадочной пленки.

«Установите свои приоритеты» из Джоэл Спольски

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...