Gdzieś między Polską a Niemcami, a szczególnie w NRD

Czas nieutracony (8) – Skrzynka z narzędziami

Trochę polecanek (lub niepolecanek) związanych z narzędziami do programowania, których używam w moim projekcie.

Total Commander

Total Commander to coś dla wychowanych na Norton Commanderze - file manager z dwoma panelami i masą przydatnych funkcji. Za najprzydatniejszą uważam szybki podgląd pliku przez F3, a zwłaszcza to, że następne F3 szuka w pliku ustawionego wcześniej stringa (również regular expression) a potem proste Esc zamyka okienko i wraca do listy w panelu. Szukania interesującego mnie miejsca w mnóstwie plików nie da się zrobić szybciej. Bardzo mi brakuje programu z taką funkcją na Linuksie - tam używam Krusadera, on też otwiera podgląd przez F3 (tyle że wyraźnie wolniej, bo za każdym razem startuje aplikację zewnętrzną) i wychodzi z niego przez Esc, ale nie przejmuje stringa do szukania - to jest akurat oczywiste, bo on startuje niezależną aplikację zewnętrzną i nie ma interfejsu do przekazania tego stringa.

TotalCommander

TotalCommander

Total Commander to shareware (tak! klasyczne shareware jeszcze istnieje!), działa również jako free (tyle że na starcie trzeba dodatkowo kliknąć buttona). Zajęcie się moim projektem skłoniło mnie do zapłacenia wreszcie za ten program (to był jedyny, którego od dłuższego czasu używałem bez kupienia go). Cena: 45 EUR.

Beyond Compare

W praktyce pracy programistycznej bardzo często trzeba porównywać pliki tekstowe albo całe katalogi. Na przykład co się w pliku zmieniło między checkinem X a Y, albo czym różni się nowe delivery jakiejś biblioteki od poprzedniego. Wiele narzędzi ma coś do porównywania wbudowane, ale zdecydowana większość tego jest po prostu słaba. Beyond Compare to zupełnie inna jakość, nieporównywalna z tamtymi. Można porównywać katalogi i pliki używając dwóch paneli, mergować na trzech panelach, ustawiać własne reguły porównywania, filtrować pliki, robić porównania batchem z CLI, ... Program poznaje różne rodzaje plików i odróżnia wtedy zmiany istotne od nieistotnych (na przykład komentarze w kodzie). Świetna rzecz.

BeyondCompare

BeyondCompare

Licencja kosztuje 30 USD (w wersji standard) albo 60 USD (wersja pro), to jest per-user - znaczy można mieć na większej ilości swoich komputerów, byle używać osobiście jednej na raz. Działa też na Linuksie. Download działa przez 30 dni jako trial, bez płacenia, można wypróbować czy warto.

Atlassian Confluence, Jira i Bitbucket

Zanim wziąłem się za mój projekt, miałem już na swoim serwerze różne darmowe programy robiące z grubsza to, co robią te od Atlassiana: Do zapisywania różnych informacji miałem DokuWiki, do ticketów próbowałem Traca i Bugzilli, jako serwer gita próbowałem gitei i jeszcze czegoś (nazwy już zapomniałem). Ale zauważyłem, że Atlassian daje licencje na większość swoich produktów w wersji na do 10 użytkowników self-hosted po 10 USD, myślę że intencją było danie triala nie całkiem za darmo. Więc kupiłem, przecież to prawie jak za darmo. Trochę pamięci na serwerze to wymaga (poniżej 16GB nawet nie próbujcie), co kilkanaście - kilkadziesiąt sekund sporo rusza dyskiem, nawet jak nic nie robić, ale działa bezproblemowo. Zestaw ten przebija oczywiście każdy darmowy, niestety nawet jeżeli będziecie chcieli go kupić, to już jest za późno - Atlassian poszedł w chmurę i nowych licencji self-hosted już nie sprzedaje. Za te 10 USD ma (a raczej miało) się licencję bezterminową, z supportem przez rok.

A jaki jest sens posiadania czegoś takiego w domu?

  • Bitbucket - oczywiście, można używać darmowego githuba, ale wrzucilibyście tam źródła swojego projektu, który daje wam przewagę nad wszystkimi konkurentami? Gitea owszem, działała, ale była bardzo uboga w funkcjonalność.
  • Jira - system do ticketów ma głęboki sens - przy pracy nad projektem zawsze będzie jakiś problem, albo coś, co ma się zamiar zrobić później. Albo przy błędzie mamy jakieś spostrzeżenia czy wyniki testów. I teraz żeby to nie zginęło, gdzieś to trzeba zapisać - i system ticketowania jest do tego idealny. No i jeszcze można na podstawie ticketów robić release notes... A te darmowe były bardzo ograniczone - Jira to jest jednak inna klasa.
  • Confluence - podobnie jak przy ticketach - różne przemyślenia, plany, obserwacje czy wnioski trzeba mieć gdzie w systematyczny sposób zapisywać. Confluence jest do tego OK, zwłaszcza po sprzęgnięciu z pozostałymi dwoma programami. DokuWiki też działało, ale Confluence jest bez porównania lepsze.

GitExtensions

Jako klienta GUI do gita używam GitExtensions - wypróbowałem wszystko, co dostępne i ten jest moim zdaniem najlepszy. A przy tym darmowy. Niestety nie udało mi się jak dotąd uruchomić go na Linuksie, mimo że ma tam podobno działać (pod mono). Ale oczywiście nie każdemu musi pasować - kolega spróbował i coś sobie zepsuł, bo defaulty były inne niż się spodziewał.

GitExtensions

GitExtensions

Eclipse

Eclipse każdy zna, nie jest to już state-of-the-art, ale nadal daje się używać. Mnóstwo wariantów i rozszerzeń, można z tym robić prawie wszystko.

Visual Studio Community Edition

Visual Studio uważam za znacznie gorsze od Eclipse, ale no cóż, jak trzeba robić z czymś od MS, to nie tak łatwo znaleźć coś lepszego, darmowego. I - tak - Visual Studio ma wersję darmową, nazywa się to Community Edition, aktualna wersja to 2019, jest przeznaczone dla osób prywatnych i małych firm (do 5 developerów). Szczególnie nie lubię integracji Visual Studio z Gitem - to nie jest dobrze zrobione, dlatego właśnie używam kombinacji GitExtensions / Beyond Compare. Nawiasem mówiąc integracja Gita z Eclipse wcale nie jest lepsza.

I jeszcze ponarzekam na debugger do C# - program puszczony pod debuggerem, nawet bez żadnych breakpunktów, jest o wiele wolniejszy niż puszczony normalnie. Już nawet byłem podłamany jak wolno działa porównywaczka do plików .arxml, którą zrobił dla mnie kolega, ale potem się okazało że puszczona nie z debuggera działa jednak z niezłą prędkością.

Enterprise Architekt

Jeżeli miałbym polecić coś do modelowania, to miałbym poważny problem. Pracowałem z wieloma różnymi takimi programami, i nie ma nic idealnego. Ostatnimi czasy coraz popularniejsze robią się bardzo okrojone narzędzia tego typu, w których tylko rysuje się diagramy jako rysunki, albo można tylko tworzyć obiekty bezpośrednio odpowiadające obiektom UMLowym. Przyczyną tego jest niewątpliwie generalne rozczarowanie MDD - modelowanie jest OK, ale reszta procesu okazała się za trudna. Sama specyfikacja UML2 też idealna nie jest, mam dość często problemy z wyrażeniem pewnych aspektów projektu w UMLu.

Enterprise Architect - jak pisałem wcześniej - jest już mocno przestarzały, ale ciągle ma niezłą relację cena/features, jeżeli chcecie zrobić coś więcej niż tylko standardowe diagramy w UML. Tu też jest 30-dniowy trial.

 

-----------------------------------------------------------------------------------------------------------------------

Dotyczy:

Kategorie:Programowanie

Sledz donosy: RSS 2.0

Wasz znak: trackback

-----------------------------------------------------------------------------------------------------------------------


1 komentarz do “Czas nieutracony (8) – Skrzynka z narzędziami”

  1. charliebravo pisze:

    @”Trochę pamięci na serwerze to wymaga (poniżej 16GB nawet nie próbujcie), co kilkanaście – kilkadziesiąt sekund sporo rusza dyskiem, nawet jak nic nie robić,”
    To jest niezłe podsumowanie upadku, jakim jest współczesne IT. Przecież taka Jira z przyległościami użytkowana przez Ciebie, to jest (ile, paręset kilo?) tekstu z odnośnikami, jakimś logowaniem komentarzy, przypisywaniem statusów i jakąś prostą wizualizacją. To by się dało, i to bez ręcznego rzeźbienia w asemblerze zrobić tak, żeby chodziło na maszynie z 16MB, nie GB….

    Co by nie mówić o git’cie (nie do końca jestem fanem), to działa płynnie na byle czym, i to nawet na sporych źródłach, z długą historią i tak dalej.

Skomentuj i Ty

Komentowanie tylko dla zarejestrowanych i zalogowanych użytkowników. Podziękowania proszę kierować do spamerów