Как упомянул всех всех, используйте Resharper или Equivalent.
Узнайте сочетания клавиш и используйте их. Просто каждая операция, которую вы можете выполнить в VS, имеет эквивалент клавиатуры, и чем больше из них вы знаете, тем меньше времени вы будете тратить в меню. Это одинаково важно для использования Resharper.
Обратите внимание на все, что вы должны ждать. Вы ждете сборки, чтобы закончить? Удалите проекты, на которых вы не работаете от вашего решения и вместо этого ссылаетесь на их сборки. Вы всегда можете добавить их обратно, если вам нужно. Вы ждете прогонских тестов на единицу? Может быть, вы можете сегментировать тесты в набор, который вы работаете несколько раз в день, и набор, который вы выполняете до каждой регистрации. Вы ждете вашего приложения, чтобы начать каждый раз, когда вы тестируете это? Может быть, вы можете определить конфигурацию сборки, которая исключает код запуска, функциональность которого не участвует в том, что вы сейчас работаете.
Получите твердотельный накопитель и поставьте на него инструменты ОС и разработки. Поместите больше памяти в вашу машину.
Простой для наконечника для борьбы с Tedium редактирования кода, который вы копируете и вставьте: Не копируйте и вставьте код. Я уверен, что есть обстоятельства, при которых это приемлемо, даже необходимо, чтобы скопировать код и вставлять код, но если это часть вашего повседневного рабочего процесса, вам нужно остановить то, что вы делаете и исправляете. Я бы даже не упомянул об этом, если бы более одного человека не предложил его.
Сделайте свою среду, чтобы реагировать быстрее.
Медленный ПК, IDE, сборка, повторяющиеся задачи, которые могут быть серьезно серьезно, могут быть автоматизированы.
Каждая мелочь имеет значение. Даже увеличивается скорость повторения
в панели управления => Свойства клавиатуры.
Вы думали о создании и использования фрагментов кода для вещей, которые вы делаете регулярно? Это может быть сохранение в реальном времени, когда вы просто бросаете их прямо и можете легко ревертировать переменные, используемые внутри них.
Я не хочу открывать целый CodeRush & Refortor! / Resharper Ban of Worms, но хорошего качества реконструирующий инструмент, как один из них, вероятно, поможет бы чрезвычайно. Я использовал CodeRush и Refactor! Накомить чуть более года, и время, необходимое для написания надежного и ремонтопригодного кода, теперь уже короче, чем пару лет назад.
Конечно, есть кривая обучения, но преимущества через несколько недель огромны.
Хорошие инструменты помогут много. Мне особенно нравится Visual Assist X : http://www.wholetomato.com/
Я получаю много производительности из Resharper - это особенно полезно, если вы изучаете все функции и сочетания клавиш
В дополнение к Resharper я обнаружил HAWKEYE Сохраняет меня огромное количество времени, отслеживающего источник исходного кода для конкретного виджета или пробуждения свойств и их визуальных эффектов в в реальном времени Настоятельно рекомендуется.
Это вроде как Firebug для .NET Rich Clients.
Вы можете нарисовать диаграммы классов/последовательностей в таком инструменте моделирования, как Enterprise Architect, который затем может сгенерировать код для вас.
Я ненавижу быть тем, кто привел это, и я не Linux Fanboy, но я попробовал аддин под названием Viemu через несколько месяцев назад. Мне потребовалось, по крайней мере, месяц, чтобы вернуться к моей обычной производительности, потому что изучаю все команды и как цепить их, - это большой спроси, но сейчас .. Я легко в 5-10 раз быстрее в рефакторинге.
Это сложно объяснить, как вы получаете наибольшую работу, когда вы ставите на работу, когда вы накатываетесь на работу по редактированию текста, которые неловко и повторяются, похоже, .. Скажем, у вас есть 20 строк кода, где вам нужно удалить Среднее слово Cood Cood от имени переменной верблюда. Это такая вещь.
Ссылка для VIEMU здесь - http://www.viemu.com/
HTH
Я узнал на макете клавиатуры , что намного быстрее для английского языка и немного быстрее для программирования. Мне потребовалось три месяца, чтобы вернуться к моей старой скорости qwerty, но я продолжал улучшить. Я думаю, что это спасло меня много времени в долгосрочной перспективе.
Мне кажется, что я вижу две вещи:
Кластеризация первичного ключа сохраняет его со строками; это означает, что он занимает меньше места (так как нет отдельных блоков индекса). Однако, как правило, его основное преимущество заключается в том, что сканирование диапазона может, как правило, обращаться к строкам, которые находятся в одном блоке, уменьшая операции ввода-вывода, что становится довольно важным, когда у вас есть большой набор данных (не 50 кбит/с).
Я думаю, что 50k int является довольно искусственным эталоном, и не тот, о котором вы заботитесь в реальном мире.
-121--3397772- Если число исходных целых чисел i
относительно велико (так что прямой поиск становится неэффективным), но все еще управляемым, можно относительно легко построить идеальную хеш-функцию хеш(i)
для входных целых чисел (например, с помощью хэширования Пирсона ), а затем использовать хэшированное значение в качестве записи в таблице вывода map
output = map[hash(i)];
Конечно, если диапазон входных значений относительно мал, можно использовать функцию идентификации вместо хэша
и просто превратить всю вещь в straghforward переназначать
output = map[i];
(хотя если бы это было так, вы бы, вероятно, даже не спросили.)
-121--4089969-К сожалению, для меня это просто интеллект, хотя я, как правило, повторно связываю ряд сочетаний клавиш, чтобы помочь. Контекстное меню (моя клавиатура не имеет кнопки контекстного меню) является одним из моих наиболее используемых для добавления ссылок и т.д.
Я читал не так давно о «нейронной оголовье» для геймеров. Он был разработан для обучения, чтобы они могли думать «вперед» и «огонь», а не нажимать W + Mouse1, и утверждал, что увеличивает время реакции. Я сомневаюсь, что он может быть достаточно обучен, но если бы такая технология могла быть использована, так что вы думаете, «реализуйте базовый класс Foo и добавьте метод Bar ()» и код генерируется в VS, то это было бы удивительно:К сожалению, это небольшой путь, и я могу представить, что «Кофе» является результатом слишком большого количества сломанных построек...
Что ж, без сомнения, я чудак, но для настольных приложений (не для Интернета) я делаю вот что. Я считаю практически любое приложение просто прославленным редактором. То есть он имеет структуру данных, которая должна быть постоянной, и пользовательский интерфейс, позволяющий пользователю помещать информацию в эту структуру данных и получать ее.
Структура данных должна быть простой, простой, простой. Я считаю это просто хранилищем информации с минимально возможной избыточностью.Я не хочу создавать структуру данных, которая существует для того, чтобы быть видимым проявлением базовых данных, таких как элементы управления в виде дерева и т. Д., Потому что тогда это нужно согласовывать с базовыми данными, и вы попадете во все вопросы о том, как поддерживать согласованность избыточных данных. (Пример: для графики не строите его, рисуйте его.) Если я не могу избежать создания избыточной структуры данных, я стараюсь как можно больше избегать программирования в стиле уведомлений, которое пытается согласовать избыточную структуру данных. Из-за этого возникает большая часть списка ошибок и проблем с производительностью. Скорее я предпочитаю слабое связывание, когда можно допустить определенную несогласованность и управлять процессами, которые время от времени запускаются для распространения изменений.
Что касается пользовательского интерфейса, я был большим сторонником кодирования пользовательского интерфейса в стиле ООП и MVC, пока не обнаружил это в 1986 году. времени, возможного с помощью обычного стиля обработки управляющих событий, и их легко изменить по мере изменения требований. Но пока я нахожусь в компании, наверное, всего из 3 человек в мире, которые его используют, потому что это определенно не мейнстрим.