Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

September 22, 2009 / by Zsolt Soczó

Resharper

A következő néhány hónapban egy rakat .NET oktatást tartok egy cégnek Marcell jóvoltából (ezúttal is köszönöm neki az üzletet).
A cégnél szabványosítani fogják a Resharpert, egy VS kiegészítő addint. Többször felraktam már a gépemre, de mindig levettem, mert idegesített, hogy mindent átszab a VS-ben. Én mindent shortcutokkal érek el, azokra jól ráül, aztán feljön a saját felülete. Ezzel az agyamra ment, sokat okoskodott, mindig leszedtem.
Most, hogy tanuljam, mire az oktatás jön, újra felraktam, és használom nap mint nap. Telepítés után azt kértem tőle, nem telepedjen rá minden shortcutra, így már egész jól megvagyunk.
Ami viszont igen kellemes meglepetés volt, hogy már két hibát is kiszúrt. Az egyikben egy paraméter értékét az ugyanolyan nevű mezőbe raktam bele, csak valahogy lemaradt a this. Triviális hiba, de nem tűnt fel a sok paraméter között. A másik kicsit ravaszabb.

Process[] p = Process.GetProcessesByName(“…”);
if (p == null) …

Mi a hiba eben a kódban? A resharper jól kiszúrta, hogy az if kifejezése mindig true false. Miért? Így néz ki a GetProcessesByName vége:

Process[] array = new Process[list.Count];
list.CopyTo(array, 0);
return array;

Nulla hosszú tömb jön vissza, ha nincs ilyen nevű processz. Nem rakétatudomány, mégis könnyű elrontani. A Resharper meg észrevette. Megtartjuk, szeretjük.

Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

LEAVE A COMMENT

2 COMMENTS

  • Dávidházi Sándor September 26, 2009

    Nem véletlenül ül rá a saját funkcióival a shortcutokra, hanem azért, mert sokkal sokkal jobbakat tesz a helyükre. :) Egyébként konfigurálásnál választhatod, hogy mennyire avatkozzon bele a VS eredeti shortcutjaiba.

    A figyelmeztetéseit pedig egyszerű beállítással külön-külön supress-elni lehet, így az idegesítő, felesleges okoskodását el lehet tüntetni. (Nálam ezen a téren a “mindenhol használj ‘var’-t, ahol lehet” tanács viszi a pálmát.)

    Egyébként hogy sikerült a vezetőséget meggyőzni, hogy szükség van erre a nem kétfilléres kiadásra, “főleg gazdasági válság idején”? :)

  • Soczó Zsolt September 26, 2009

    Igen, a var volt az első, amit kidobtam.
    Azóta egyre több dolgot imádok benne, pl. a Move type to separate file nagyon sok időt sprórol meg. Vagy a rename refactoring során a related nevek módosítása.
    Vagy az if-> ?: konverzió. Vagy az initialize field from contructor. Stb. :)
    A cég maga mondta, hogy használni fogják, nem én nyomtam nekik. Nagyon jó a szakmai vezetőjük, aki értelmesen átgondolja, mire van szükségük a jó munkához. Öröm látni, hogy van ilyen cég.