Dlaczego używam eclipse w wersji 3.3

Środowisko eclipse wykorzystuję do programowania w języku php – Zend Framework. Od ponad pół roku jest to niezmiennie leciwa już wersja 3.3. Dlaczego nie zmieniłem jej na nowszą np. 3.5? Skłoniły mnie do tego zaledwie dwie jakże istotne dla mnie kwestie. Zastrzegam jednak, że być może to co tutaj zaprezentuję wynika z mojej niewiedzy związanej z eclipse, liczę więc na ewentualny „odzew”. :)

Rozważmy następujące kody dwóch przykładowych klas:

class SampleClass
{
	public function __construct()
	{

	}

	/**
	 * Przykladowa funkcja
	 *
	 * @param String $str Obiekt string
	 * @param array $arr Obiekt array
	 * @param String|array $obj Obiekt mieszany
	 *
	 * @return array
	 */
	public function myFunction($str, $arr, $obj)
	{
		return array('str' => $str, 'arr' => $arr, 'obj' => $obj);
	}
}

class MyClass
{
	/**
	 * Przykladowa klasa
	 *
	 * @var SampleClass
	 */
	private $_sampleClass;

	public function __construct()
	{
		$this->_sampleClass = new SampleClass();
		$this->_sampleClass->myFunction('str', array('arr' => 'dd'), 'str2');
	}
}

W zasadzie nic nadzwyczajnego. W jednej klasie przykładowa metoda, w drugiej natomiast utworzenie instancji klasy oraz wywołanie metody „myFunction”. Wszystko opatrzone w odpowiednie komentarze.

Dwa powody dla których nie zrezygnuję ze starego poczciwego eclipse 3.3:

Powód I:

Podczas korzystania z utworzonej wcześniej instancji klasy wywołanie metody sprowadza się do wpisania strzałki tuż po nazwie obiektu. Taka operacja skutkuję piękną chmurką prezentującą listę metod czy też zmiennych danej klasy.

Eclipse w wersji 3.5 „wypluwa” owe podpowiedzi niezwykle wolno Od momentu pojawienia się strzałki do chwili „wyplucia” listy metod i zmiennych mija katastrofalnie dużo czasu!!!! Osobiście piszę bardzo szybko na klawiaturze przez co jakiekolwiek opóźnienie w pojawieniu się podpowiedzi jest niezwykle irytujące. Żadnych efektów poprawiających powyższy stan rzeczy nie przynosi ustawienie opóźnienia autoaktywacji na 1 czy też 0 milisekund w opcjach znajdujących się: Window->Preferences->PHP->Editor-CodeAssist.

Całkowicie inaczej wygląda to w Eclipse 3.3. Tam niemal każde „strzałkowe” odwołanie powoduję natychmiastową podpowiedz.

Powód II:

Poniżej przedstawiam szereg screenów ukazujących proces wywołania metody „myFunction” z klasy „SampleClass” w eclipse 3.3 oraz 3.5.

Eclipse 3.5:

wywolanie_metody_3_5

Eclipse 3.3:

wywolanie_metody_3_3

uzupelnienie_arg_3_5

uzupelnienie_arg_3_3

Faktem jest, że język php nie jest językiem silnie typowanym, więc teoretycznie każda przekazywana wartość do metody „myFunction” może być dowolnego typu. O ile w obu omawianych przeze mnie wersjach eclipse, chmurki zawierające opis metody i parametrów wyglądają identycznie o tyle już sam proces uzupełniania wartościami argumentów funkcji jest nieco inny. Eclipse 3.3 także na tym etapie sugeruję jakiego typu powinny być wartości parametrów przekazywane do metody. Niestety zabrakło tego w nowszym wydaniu i od dawna nic się w tej kwestii nie zmienia.

Być może eclipse 3.5 gdzieś w swoim gąszczu ustawień konfiguracyjnych zawiera opcję, które pozwalają zrównać tą wersję w wygodzie użytkowania do eclipse 3.3 niestety jak dotąd nie było mi dane ich odnaleźć. Ubolewam nad tym faktem ponieważ niektóre najnowsze wersję wykorzystywanych przeze mnie eclipsowych pluginów odmawiają już współpracy z wersją 3.3.

Szybkość oraz wygoda jaką ze sobą niosą powyższe opcję sprawia, że wciąż kurczowo trzymam się eclipse 3.3.

  1. Krótko:
    3.3 – 3.3 litra wódki na jednego programistę Java tygodniowo – optymalnie,
    3.5 – 3.5 litra wódki na jednego programistę Java tygodniowo – za dużo,
    4.0 – aż nie chce mi się myśleć…

  1. Na razie brak trackbacków