Вопросы, поставленные в вопросе, - это микрооптимизации. Я не согласен с тем, что «каждый бит помогает», особенно если это происходит за счет удобочитаемости.
Видите ли, если вы можете легко и быстро прочитать и понять свой код, это означает, что вы легко можете сделать архитектурные изменения. Те, где действительно большие победы, а не микро-оптимизация. Чем больше вы пытаетесь настроить черту из каждой строки кода, тем сложнее будет реорганизовать весь дизайн.
Так что мои советы:
- Написать наиболее читаемый код, который вы можете
- Не оптимизировать реализацию преждевременно - но думать о архитектурных вопросов производительности рано
- Не вносить изменения от имени производительности до тех пор, пока у вас не будет жестких номеров, чтобы рассказать, улучшаете ли вы улучшения или нет.
- Используйте профилировщик, чтобы помочь выявить узкие места
Все это не относится к веб-приложениям. Для веб-приложений (и на стороне сервера в целом):
- Если вы действительно не знаете, что вам никогда не понадобится более одного сервера, убедитесь, что ваш код может масштабироваться горизонтально. Если вы можете позволить себе это сделать, начните с двумя серверами (или более), чтобы вы могли сгладить любые проблемы (сеансы и т. Д.) Раньше. Это также помогает при прокатных обновлениях и т. Д.
EDIT: Я вообще не обращался к базе данных. Kyle's answer хорошо на этом фронте. Убедитесь, что ваша база данных также может масштабироваться, если возможно :)
Два момента, которые вы делаете, не являются специфическими для веб-приложений; они предназначены для любого приложения .NET. – flesh 2008-11-14 21:14:07
Или они падают для любого приложения .NET - оба звучат, как будто они делают код менее читаемым, для меня. Я предпочел бы использовать строго типизированный DataSet (или подобную абстракцию), чем сырой SqlReader в любой день недели. – 2008-11-14 21:26:55
Почему F # отмечена? Кроме того, re # 1 - строки IMMUTABLE по причине, которую вы указали. – 2008-11-14 21:40:44