Подтвердить что ты не робот

Как быстрее писать код в Visual Studio?

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

IntelliSense определенно является находкой, поскольку он может автоматически генерировать код из него, нажав клавишу TAB. Но теперь мне интересно: какие другие методы или инструменты люди используют, чтобы как можно быстрее получить код в их голове?

4b9b3361

Ответ 1

  • Как и все остальные, используйте Resharper или эквивалент.

  • Изучите сочетания клавиш и используйте их. Почти каждая операция, которую вы можете выполнять в VS, имеет эквивалент клавиатуры, и чем больше из них вы знаете, тем меньше времени вы будете тратить в меню. Это не менее важно для использования Resharper.

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

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

  • Простая подсказка для работы с терием редактирования кода, который вы копируете и вставляете: не копируйте и не вставляйте код. Я уверен, что есть обстоятельства, при которых это приемлемо, даже необходимо, для копирования и вставки кода, но если это часть вашего повседневного рабочего процесса, вам нужно остановить то, что вы делаете, и исправить его. Я бы даже не упомянул об этом, если бы не один человек не предложил его.

Ответ 2

Я получаю большую производительность из Resharper - Это особенно полезно, если вы изучите все функции и сочетания клавиш

Ответ 3

Я не хочу открывать целый CodeRush и Refactor!/Resharper can of worms, но хороший инструмент повторного факторинга хорошего качества, подобный одному из них, вероятно, будет чрезвычайно помог. Я использую CodeRush и Refactor! в течение чуть более года, а время, затрачиваемое на создание надежного и удобного кода, сейчас короче, чем это было пару лет назад.

Конечно, есть кривая обучения, но преимущества после нескольких недель огромны.

Ответ 4

Сделайте вашу среду более быстрой.

Slow pc, IDE, build, повторяющиеся задачи, которые могут быть автоматизированы, серьезно снижают скорость.


Каждая мелочь считается. Даже увеличение Repeat rate в панели управления = > свойства клавиатуры.

Ответ 5

Вы можете нарисовать диаграммы классов/последовательностей в инструменте моделирования, таком как Enterprise Architect, который затем может генерировать код для вас.

Ответ 6

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

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

Ссылка на ViEmu находится здесь - http://www.viemu.com/

НТН

Ответ 7

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

Я читал не так давно о "нейронном оголовье" для геймеров. Он был разработан для обучения, чтобы они могли думать "вперед" и "стрелять", а не нажимать W + Mouse1, и утверждали, что увеличивают время реакции. Я сомневаюсь, что он еще может быть обучен достаточно, но если такие технологии можно использовать, так что вы думаете: "Внесите базовый класс Foo и добавьте метод Bar()", и код будет создан в VS, тогда это будет потрясающе:) К сожалению, это немного, и я могу представить, что "Кофе" является результатом слишком много сломанных сборок...

Ответ 9

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

Ответ 10

Ну, без сомнения, я странный, но для настольных приложений (а не для Интернета) здесь то, что я делаю. Я рассматриваю почти любое приложение как просто прославленный редактор. То есть он имеет структуру данных, которая должна быть постоянной, и пользовательский интерфейс, позволяющий пользователю помещать информацию в эту структуру данных и получать ее.

Для структуры данных, прост, прост, прост. Я считаю это просто хранилищем информации, с минимальной избыточностью. Я не хочу создавать структуру данных, которая существует для того, чтобы быть видимым проявлением базовых данных, таких как древовидные элементы управления и т.д., Потому что тогда это должно поддерживаться в согласии с базовыми данными, и вы попадаете во все вопросы о том, как сохранить избыточные данные согласованными. (Пример: для графики, не создавайте ее, рисуйте ее.) Если я не могу избежать создания избыточной структуры данных, я стараюсь избегать как можно большего от программирования в стиле уведомлений, которое пытается сохранить избыточную структуру данных в тесном согласии. Из-за этого возникает большая часть ошибок и проблем с производительностью. Скорее я предпочитаю свободную связь, где определенную степень несогласованности можно терпеть, и ее управляют процессы, которые время от времени запускают изменения.

Для пользовательского интерфейса я был большим сторонником кодирования UOP и MVC в стиле UI, пока я не узнал этот в 1986 году. Теперь я испорчен, и я могут получить сложные пользовательские интерфейсы, закодированные за небольшую часть времени, используя обычный стиль управления управляющим событием, и они тривиальны для изменения при изменении требований. Но пока я нахожусь в компании, возможно, только 3 человека в мире, которые его используют, потому что это определенно не является основным.

Ответ 11

Мне кажется, что я вижу две вещи:

  • У вас нет полной клавиатуры. Я не могу рекомендовать новую клавиатуру.
  • Вы можете использовать шаблоны, чтобы упростить их. Я понимаю, что вам нужно много программировать, прежде чем начинать свой проект. Если вы будете использовать шаблоны, вы можете создать шаблон, содержащий все обработчики исключений, ссылки .NET и т.д. Затем, когда вы хотите закодировать, вы просто открываете шаблон, редактируете пространство имен (которое может быть автоматическим) и ваше добро пожаловать.

Ответ 12

Вы можете попробовать Resharper.

Другой вариант - вы можете попробовать Telerik Just Code.

Ответ 13

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

Ответ 14

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

Это похоже на FireBug для .NET-клиентов.