Как минимизировать использование клавиш со стрелками при введении кода?

Один из способов прочитать ваши вопросы: «Почему C ++ не делает каждую функцию виртуальной по умолчанию, если программист не переопределяет эту настройку по умолчанию». Без консультации с моей копией «Дизайн и эволюция C ++»: это добавило бы дополнительное хранилище для каждого класса, если каждая функция-член не сделана не виртуальной. Мне кажется, это потребовало бы больше усилий в реализации компилятора и замедлило принятие C ++, предоставляя корм для одержимой производительности (я считаю себя в этой группе).

Еще один способ прочитать ваши вопросы «Почему программисты на C ++ не делают каждую функцию виртуальной, если у них нет веских причин не делать этого?» Возможно, причина в производительности. В зависимости от вашего приложения и домена, это может быть хорошей причиной или нет. Например, часть моей команды работает на предприятиях по продаже рыночных данных. При скорости более 100 000 сообщений в секунду в одном потоке издержки виртуальной функции будут неприемлемы. Другие части моей команды работают в сложной торговой инфраструктуре. В этом контексте, вероятно, хорошей идеей является виртуализация большинства функций, поскольку дополнительная гибкость превосходит микрооптимизацию.

15
задан Lucky 21 June 2009 в 02:45
поделиться

10 ответов

Прежде всего, в Vim можно увеличить скорость, используя h , j , k и l вместо клавиш со стрелками. См. Изучение Vim прагматичным способом для обзора клавиш.

Однако в этом случае вам, вероятно, понадобится плагин AutoClose . Он автоматически вставляет закрывающую скобку (или цитату) вместе с открытием и помещает курсор между ними. Таким образом, вы переходите от

System.out.println(|)

к

System.out.println(foo(|))

к

System.out.println(foo("|"))

. Если вы затем наберете ")) , курсор будет" перемещать "закрывающие символы вместо того, чтобы вставлять новые. Хотя это более быстрый способ чтобы добраться до конца строки, вероятно, будет A .

System.out.println(foo(""));

Итак, подведем итог, вышеприведенное можно получить, набрав System.out.

10
ответ дан 1 December 2019 в 01:17
поделиться

Что ж, это Java. Если вы используете более или менее хорошую IDE, у вас должна быть возможность автозаполнения, например, когда вы набираете "System.out.println" и нажимаете Enter, чтобы принять автозаполнение, появятся скобки, а курсор будет посередине (о, и там будут кавычки!)

6
ответ дан 1 December 2019 в 01:17
поделиться

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

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

Если вы уже в vim, попробуйте поиграть с клавишами h, j, k и l. Они делают то же самое, что и клавиши со стрелками, но намного удобнее. Попытка выработать привычку печатать по порядку, вероятно, также поможет, но это требует определенных усилий.

5
ответ дан 1 December 2019 в 01:17
поделиться

Не делайте этого.

Ваша привычка заканчивать то, что вы начали - будь то закрывающая скобка, скобка, скобка или вызов .Close () для сопоставления .Open () , или удалить / бесплатный вызов в соответствии с вашим новым / malloc - отличный вариант. Даже если вы намереваетесь «закрыть» свой объект в другой области (например, в функции завершения), ваша привычка заставляет задуматься о правильном освобождении ресурсов.

Да, есть полезные редакторы, которые позволяют вам писать код быстрее, а это вы обязательно должны использовать, но не позволяйте им стать костылем, который позволит вам забыть закрыть объекты / освободить ресурсы.

Прямой ответ на ваш вопрос:

3
ответ дан 1 December 2019 в 01:17
поделиться

Я полностью рекомендую vim ... так как это очень поможет! Кроме того, обратите внимание на то, что автоматически закроет круглые скобки, квадратные скобки и фигурные скобки для вас ... У меня есть что-то в vim, что делает это, и это помогает с этим типом проблемы, потому что я уже внутри скобок.

2
ответ дан 1 December 2019 в 01:17
поделиться

Еще одно голосование за Vim. Кроме того, есть отличные плагины для более стандартных IDE, использующих сочетания клавиш Vi. Я время от времени использую jVI в Netbeans.

Вы обнаружите, что чем больше вы используете Vim, тем легче вам будет работать. Вы также обнаружите, что достаточно умный поиск / замена может сэкономить вам немало нажатий клавиш, как и глобальное действие regex-y.

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

1
ответ дан 1 December 2019 в 01:17
поделиться

Раньше я печатал полностью линейно (да, в vim), никогда не мог понять, как быстро создавать закрывающие элементы при записи.

Однако теперь я использую Eclipse. - он создает их для меня по мере того, как я иду, поэтому в конце чего-то с a) ")) беспорядок я просто нажимаю конец и набираю;, не нужно вообще разбираться с этим вручную. Что иногда меня смущает, но это нормально .

1
ответ дан 1 December 2019 в 01:17
поделиться

Я считаю, что цифровая клавиатура делает навигацию очень простой, потому что клавиши home и pgup расположены так близко. Для фактического набора чисел вы просто используете верхний ряд клавиатуры (что трудно выучить, я согласен, но достаточно быстро через некоторое время).

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

1
ответ дан 1 December 2019 в 01:17
поделиться

Хорошая среда IDE (Galileo уже почти здесь) автоматически закрывает скобки, круглые скобки и т. Д., А также разумно вставляет точку с запятой в конце оператора. Нет необходимости использовать стрелки!

Конечно, для println в Eclipse вы можете просто ввести sysout, но это, вероятно, плохая привычка.

Но будьте осторожны! Если вы поторопитесь, коллеги всегда заставят вас водить машину: P

1
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

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