Что прием должен написать код быстрее в Eclipse?

Правила C# очень отличаются от того из Java и C++.

, Когда Вы находитесь в конструкторе для некоторого объекта в C#, тот объект существует в полностью инициализированный (просто не "созданный") форма как ее полностью производный тип.

namespace Demo
{
    class A 
    {
      public A()
      {
        System.Console.WriteLine("This is a {0},", this.GetType());
      }
    }

    class B : A
    {      
    }

    // . . .

    B b = new B(); // Output: "This is a Demo.B"
}

Это означает, что, если Вы вызываете виртуальную функцию от конструктора A, это решит к любому переопределению в B, если Вам предоставят.

Даже при намеренной установке A и B как это, полностью понимая поведение системы, Вы могли быть в для шока позже. Скажите, что Вы вызвали виртуальные функции в конструкторе B, "зная", что они будут обработаны B или как соответствующие. Тогда передачи времени, и кто-то еще решает, что они должны определить C и переопределить некоторые виртуальные функции там. Внезапно конструктор B заканчивает код вызова в C, который мог привести к довольно удивительному поведению.

Это - вероятно, хорошая идея избежать виртуальных функций в конструкторах так или иначе, так как правила настолько отличающиеся между C#, C++ и Java. Ваши программисты не могут знать, что ожидать!

12
задан n00ki3 31 July 2009 в 14:22
поделиться

11 ответов

Ctrl + Space is the autocomplete shortcut

All shortcuts you can find under Window -> Preferences -> General -> Keys

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

My favourites:

  • Ctrl + Space - auto complete

  • Ctrl + 1 - show quick fix options when you are over an error / warning

  • Shift + Ctrl + L - list short cuts

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

Ctrl + Shift + O : resolve all dependances automaticall. In Java, it's a life saver as it cleans old packages and add the required one without a single line to write.

"Right click" then "refactor" : all the features are handy, but I espacially love "rename" (Ctrl + Shift + R, c.f comments) because it will apply the changes to all the project. No more tricky find / replace wit regexp to do ensure you breal nothing else :-)

"Right click" then "source" : equally useful, with a special mention to "generate getter and setter" and "implement methods"

Ctrl + D : delete a line. Kinda cool.

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

I kind of remember CTRL+SPACE was the shortcut for autocomplete.

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

General Eclipse tips

  • Get rid of all the crap that you'll never use
  • if you do web-dev ... install the database, php, pydev, modules and plugins
  • install svn/cvs/git plugin
  • use Trac
  • have different code enviornments for different code types, i.e. one for python-dev, c++, and so on.
  • wait a few weeks to months before updating
  • i have about 100 premade mini scripts that i use frequently.
  • learn to develop your own plugins, as it's easy and fun.
0
ответ дан 2 December 2019 в 03:01
поделиться

Один трюк, который мне нравится в Eclipse для Java, - это запись в обратном направлении (то есть вы пишете клиент до того, как он вызывает код). Обычно мы думаем об автозаполнении, чтобы помочь нам с уже существующими методами и переменными. Это нормально, но еще круче, когда метод / класс не существует.

Попробуйте ввести этот код в метод (где угодно, правда):

Who who = new Who();
who.whatUpMan("hi", 32);

Теперь щелкните левой кнопкой мыши на Who в начале. Это даст вам выбор создать класс, интерфейс, перечисление и т. Д.

Теперь щелкните левой кнопкой мыши на whatUpMan . Он предложит вам создать метод с правильными типами параметров и всем остальным.

Они называются «Быстрые исправления» в Eclipse и дают вам полную свободу кодирования от клиента «назад» к классам, которые он использует. И когда у вас уже есть метод,

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

Еще одна экономия времени - автоматическое форматирование кода с помощью Ctrl + ] Shift + F .

Настройки форматирования http://img187.imageshack.us/img187/5866/eclipseformatter.png

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

Для некоторых приложений ответ заключается в генерации кода с использованием EMF . Но кривая обучения EMF значительна.

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

Как уже упоминалось, используется команда Ctrl + Пробел для автозаполнения. Вы можете ускорить это с помощью camelCase ... поэтому в вашем примере:

someVeryLongVariablesWhichIWantToTypeFast

вы можете начать набирать sVL , затем Ctrl + Space ). автозаполнение или список всех совпадающих переменных.

CamelCase также работает для указания классов, поиска классов и т. д.

Другие, которые мне нравятся / использую:

type sys Ctrl + Пробел для получения оператора System.out.println (или ошибка)

тип fore Ctrl + Пробел после строки массива / списка для его выполнения

Щелкните аргумент метода и Ctrl + 1 , чтобы создать для него поле и назначить его, отлично подходит для конструкторов

Ctrl + 1 для любой локальной переменной для преобразования в поле, объявление разделения,или встроите его

, если вы выбрали

object.method().method2().method3()

object.method () и набрали Ctrl + 1 для назначения полю или локальной переменной, тогда вы получите

Object objLocal=object.method()
objLocal.method2().method3() 
//Can now select objLocal.method2() and do the same again
13
ответ дан 2 December 2019 в 03:01
поделиться

Еще несколько средств экономии времени, которые, кажется, не упоминаются:

  • Ctrl + 3 «Быстрый доступ», который в основном позволяет вам достичь чего угодно, не слишком много щелкая мышью. Например, введите 'nav' во всплывающем диалоговом окне, а не Window | Показать вид | Общие | Навигатор или где бы то ни было.

  • Ctrl + O 'Quick Outline': при редактировании Java (и некоторых других вещей) выскакивает облегченное диалоговое окно, в котором вы можете найти что-либо в файле несколькими нажатиями клавиш

  • Shift + Alt + T «Рефакторинг» и другие вещи под этим меню - ищите быстрые клавиши, часто используйте 'Rename', 'Move', 'Extract method', 'Change method signature'

  • Alt + Up / Down перемещайте блоки кода вверх / вниз без вырезания / вставки

  • Alt + Shift + Up / Down легко выбирает различные уровни кода (выражения, утверждения, методы, класс)

  • Ctrl + 1 в выбранном коде предлагает вам интересные вещи, например. Извлечь в переменную / константу / метод; Объявление разделенной переменной - смотрите другие выше или просто попробуйте на чем угодно

  • Ctrl + Shift + R найти любой файл в рабочей области, аналогично Ctrl + Shift + T для поиска типов

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