Как я планирую веб-приложение уровня предприятия?

Для Windows, cd сам покажет вам текущий рабочий каталог.

Для UNIX и рабочих систем, pwd выполнит ту же задачу. Вы также можете использовать переменную оболочки $PWD в некоторых оболочках. Я не уверен, поддерживает ли Windows получение текущего рабочего каталога через переменную оболочки или нет.

9
задан Wai Ha Lee 29 November 2015 в 22:57
поделиться

6 ответов

Хотя существуют, конечно, хорошие статьи о той теме, ни один из них не замена реального опыта.

Пригодность для обслуживания - ничто, что можно запланировать прямо вперед, за исключением очень маленьких проектов. Это - что-то, о чем необходимо заботиться во время целого проекта. На самом деле создание загрузок классов и кода инфраструктуры заранее может произвести код, который еще более трудно понять, чем наивный запутанный код.

Таким образом, мой советовать должен очистить Ваши существующие проекты путем непрерывного рефакторинга их. Посмотрите на части, которые были болью, чтобы измениться и бороться за простые решения, которые легче понять и корректироваться. Если код даже слишком плох для этого, рассмотрите перезапись его с нуля.

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

Путем выполнения тех рефакторингов Вы споткнетесь через различные конкретные вопросы, о которых можно спросить и прочитать статьи. Тем путем Вы узнаете больше, чем, просто задав общие вопросы и читая общие статьи об обслуживании и платформах.

Начните очищать свой код сегодня. Не задерживайте его к своим будущим проектам.


(То же верно для документации. Общие первые документы были очень плохи. После нескольких месяцев они оказываются слишком подробными и заполненными неважным материалом. Так дополните документацию решениями проблем, которые Вы действительно имели, потому что возможности хороши, что в следующем году Вы столкнетесь с подобной проблемой. Те события улучшат Ваш стиль записи больше, чем кто-либо, "как записать хорошее" руководство по стилю.)

9
ответ дан 4 December 2019 в 13:51
поделиться

Я честно рекомендовал бы смотреть на Martin Fowlers Patterns Архитектуры приложений для предприятия. Это обсуждает много способов подать Вашу заявку, более организованную и удобную в сопровождении. Кроме того, я рекомендовал бы использовать поблочное тестирование, чтобы дать Вам лучшее понимание Вашего кода. Книга Kent Beck по Разработке через тестирование является большим ресурсом для изучения, как обратиться к изменению в Вашем коде через модульные тесты.

4
ответ дан 4 December 2019 в 13:51
поделиться

Необходимо считать, возможно, использование SharePoint. Это - среда, которая уже разработана, чтобы сделать все, что Вы упомянули, и имеет много других функций, Вы, возможно, не думали о (но возможно Вам будет нужно в будущем :-))

Вот некоторая информация от официального сайта.
Существует 2 различных среды SharePoint, которые можно использовать: Windows Sharepoint Services (WSS) или Microsoft Office сервер Sharepoint (MOSS). WSS свободна и поставлется с Windows Server 2003, в то время как MOSS не свободен, но имеет намного больше функций и покрывает почти все Вы потребности предприятия.

-4
ответ дан 4 December 2019 в 13:51
поделиться

Самый важный совет, который я могу дать помогавший вырастить старое веб-приложение в чрезвычайно высокое доступное пользующееся высоким спросом веб-приложение, состоит в том, чтобы инкапсулировать все. - в особенности

  1. Используйте хорошие принципы MVC и платформы для разделения слоя представления от бизнес-логики и модели данных.
  2. Используйте устойчивый слой постоянства для не связи бизнес-логики с моделью данных
  3. Запланируйте отсутствие гражданства и асинхронное поведение.

Вот превосходная статья о том, как eBay занимается этими проблемами http://www.infoq.com/articles/ebay-scalability-best-practices

2
ответ дан 4 December 2019 в 13:51
поделиться
  1. Используйте платформу / система MVC. Чем более организован и централизованный Ваш код, тем лучше.

  2. Попытайтесь использовать Кэш-память. PHP имеет созданный в расширении для него, требуется приблизительно десять минут для установки и еще двадцать для подачи заявления. Можно кэшировать то, что Вы хотите к нему - я кэширую все свои записи базы данных в нем - для каждого приложения. Это делает блуждания.

  3. Я рекомендовал бы использовать систему управления исходным кодом, такую как Подверсия, если Вы уже не.

1
ответ дан 4 December 2019 в 13:51
поделиться

Для улучшения пригодности для обслуживания, Вы могли:

  • Если Вы - единственный разработчик, затем принимают стиль кодирования и придерживаются его. Это вселит в Вас веру позже при навигации через собственный код о вещах, которые Вы, возможно, возможно сделали и вещи, что Вы абсолютно не будете. Быть уверенным, где посмотреть и что искать и что не искать, сохранит Вас много времени.

  • Всегда занимайте время для осовременивания документации. Включайте задачу в план разработки; включайте то время в план как часть любое изменение или новая возможность.

  • Сохраните документацию сбалансированной: некоторые схемы высокого уровня, значимые комментарии. Лучшие комментарии говорят, который не может быть считан из самого кода. Как бизнес-причины или "whys" позади определенных блоков кода.

  • Включайте в план, усилие сохранить структуру кода, имена папок, пространства имен, объект, переменную и стандартную программу называет актуальным и отражающим из того, что они на самом деле делают. Это будет иметь большое значение в улучшающейся пригодности для обслуживания. Всегда называйте лопату "лопатой". Избегайте больших блоков кода, структурируйте его средствами, доступными в Вашем предпочтительном языке, дайте понятные имена блоков.

  • Слабая связь и высокая когерентность. Удостоверьтесь Вы актуальный с методами достижения их: дизайн контракта, внедрение зависимости, аспекты, шаблоны разработки и т.д.

  • С точки зрения управления задачами необходимо оценить больше времени и взимать более высокий сбор для ненепрерывных обрабатываемых деталей. Не смущайтесь делать клиента знающим, что Вам требуется дополнительное время, чтобы сделать, маленькое ненепрерывное распространение изменений со временем в противоположность большим непрерывным проектам и текущему техническому обслуживанию начиная с администрирования и анализа наверху больше (необходимо управлять и проанализировать каждое изменение включая влияние на существующую систему отдельно). Одна польза, которую Ваш клиент собирается извлечь, является большей продолжительностью жизни системы. Другой точная документация, которая сохранит их опцию искать, чужая справка должна они решать сделать так. Оба защищают клиентские инвестиции и являются сильными коммерческими аргументами.

  • Используйте управление исходным кодом, если Вы уже не делаете этого

  • Сохраните подробный журнал всего сделанного для клиента плюс любая важная коммуникация (простой компьютер или основанный на бумаге CMS). Обновите свою память перед каждым присвоением.

  • Сохраните журнал проблем оставленным открытым, идеи, предложения на клиента; снова обновите свою память прежде, чем начать присвоение.

  • Запланируйте заранее, как постподдержка внедрения будет проводимой, обсудите с клиентом. Сделайте свои системы, легки поддержать. Запланируйте параметризацию, контролируя инструменты, проверки работоспособности в сборке. Продайте постподдержку внедрения клиенту как часть первоначального контракта.

  • Расширьтесь путем найма даже при необходимости в ком-то только для обеспечения той постподдержки внедрения, сделайте администраторские биты.

Рекомендуемое чтение:

3
ответ дан 4 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: