Czego używacie do przechowywania snipetów kodu

0

Pytanie jak w temacie - czyli gdzie trzymacie fragmenty najczęściej używanych i lubianych przez was kawałków kodu. Ja ostatnio zaczynam mieć z tym problemy bo nie mam zorganizowanego ani programu na tą okoliczność ani jakiegoś folderu tylko wytężam mózg i przypominam sobie, w którym to projekcie musiałem rozwiązać podobny problem i zaglądam w jego źródła i dopiero stamtąd kopiuje potrzebny mi fragment. Rozwiązanie mało wydajne bo pamięć już nie ta [wstyd]

0

wersjonowana biblioteka

0

W Visual Studio można zapisywać w toolboxie ,aczkolwiek nigdy tego nie praktykowałem jeszcze.

0
cepa napisał(a)

wersjonowana biblioteka

Czy możesz napisać coś więcej na ten temat? Nie chciałbym do tego instalować jakiegoś ciężkiego softu.

Kiedyś (baaardzo dawno temu) na 4programmers była taka aplikacyjka nazywała się MultiFAQ
user image

Było to coś dość przyjemnego, bez żadnej instalacji, jeden exec ale brakuje tam kilku rzeczy ułatwiających życie i przy uruchamianiu na windows 7 wywala kilka błędów dot. rejestru. Może ktoś z was używa czegoś podobnego o większych możliwościach?

0

do delphi uzywam KMD 6 autorstwa Michala Łońskiego, a tak to fajne kody trzymam jako osobne ponazywane pliki tesktowe Notatnika hehhe i calosc w jednym folderze Source... :) mam tam tez kody zrodlowe, male demka itp na dzien dzisiejszy znajdue sie tam 31 000 plikow = 1,35 GB danych
Mowie sobie od paru miesiecy ze kiedys sobiee je posegreguje tematycznie :D

0
papudrun napisał(a)
cepa napisał(a)

wersjonowana biblioteka

Czy możesz napisać coś więcej na ten temat? Nie chciałbym do tego instalować jakiegoś ciężkiego softu.

no <ort>po prostu</ort> uwazam ze jak musisz trzymac fragmenty kodu gdzies tam to cos jest nie tak :P
ja mam tak: ze gdy np: pisze sobie app w php to czesc kodu ktora jest jakby bardziej uniwersalna i do ponownego wykorzystania jest wrzucona do biblioteki, ma osobne repozytorium i zestaw testow. Projekty ktore z niej korzystaja maja ja wlaczona poprzez svn:externals, wiec w chwili gdy np: w jakims projekcie potrzebuje czegos i dopisze to do tej biblioteki to po commicie testowana jest cala biblitoeka + wszystkie projekty z neij korzystajace, zeby sprawdzic czy czegos czasem nie zjeb** :P

zalety:

  • jedno miejsce gdzie jest caly uniwerslny kod
  • jedna wersja kodu
  • wieksza jakosc kodu
  • latwiejsze mergowanie funkcjonalnosci wielu projektow

wady:

  • trzeba pisac testy a z tym schodzi :P
  • troche wiecej softu trzeba uzyc (ja mam kombinacje: svn, cruisecontrol, phing, phpunit)
  • testowanie jest bardzo zasobozerne, dlatego w tym celu mam osobny serwer
0

jak musisz trzymac fragmenty kodu gdzies tam to cos jest nie tak

ale jeżeli (jak wspomniał @Lamson) w VS jest dedykowany mechanizm/narzędzie przeznaczone do tego celu to nie do końca jest coś nie tak. Poszukałem trochę informacji na ten temat - w VS nazywa się to dokładnie Code Snippets Manager i wygląda nieźle - proste okienko, po lewej kategorie w drzewku po prawej kod. Ale to jest Visual Studio. Moje podstawowe narzędzia to Delphi, SQL SMS, php

To o czym piszesz kolego Cepa to bardzo dobra sprawa ale nie tego "potrzebuje". Chodzi mi na przykład o miejsce gdzie mogę umieszczać sobie BARDZO proste rzeczy, które po chwili wysiłku sam napisałbym prawdopodobnie z pamięci w ciągu 5 do 15 minut ale skoro już raz myślałem nada jakąś podwójnie zagnieżdżoną pętlą, wyrażeniem regularnym czy inicjalizacji jakiegoś procesu, którego wręcz nie chce zaciągać z zewnętrznego unitu to mogę sobie najprościej w świecie skopiować wkleić i odpowiednio zmodyfikować kod co zajmie mi 5 sekund.

Oto co na przykład bym sobie umieścił w takim programiku a co muszę teraz trzymać gdzieś w osobnych pliczkach a co wg mnie nie ma sensu umieszczać w jakiejś bibliotece:

{chowanie traya }
  ShowWindow( FindWindow( 'Shell_TrayWnd',nil), SW_HIDE);
  ShowWindow( FindWindow( 'CabinetWClass',nil), SW_HIDE);
  ShowWindow( FindWindow( 'Progman',nil), SW_HIDE);

{ pokazywanie traya itd }
  ShowWindow( FindWindow( 'Shell_TrayWnd',nil), SW_SHOW);
  ShowWindow( FindWindow( 'CabinetWClass',nil), SW_SHOW);
  ShowWindow( FindWindow( 'Progman',nil), SW_SHOW);

A już tak troche offtopując jak jesteśmy w temacie współdzielenia kodu polecam artykuł
http://97rzeczy.devblogi.pl/artykuly/7/strzez-sie-wspoldzielenia

0
papudrun napisał(a)

A już tak troche offtopując jak jesteśmy w temacie współdzielenia kodu polecam artykuł
http://97rzeczy.devblogi.pl/artykuly/7/strzez-sie-wspoldzielenia

hmm no ze wspoldzieleniem jest jak ze wszystkim, trzeba myslec co sie robi :P

hmm a nie wystarczy ci cos ala wiki do trzymania tipsow itp :p?

0
cepa napisał(a)

hmm a nie wystarczy ci cos ala wiki do trzymania tipsow itp :p?

Też jest to jeden z pomysłów, który ma swoje zalety jak i wady :)

Zalety:

  • dostęp do tej samej bazy kodu z różnych kompów

Wady:

  • potrzeba dostępu do internetu (lub do kompa w sieci lokalnej, na którym miałbym ten serwer) a programuje w pracy gdzie nie miałbym z tym problemu ale zdarza mi się też w domu przy czym dostęp do tego kompa przez VPN nie byłby najwydajniejszym rozwiązaniem

Nie chciałbym żebyście uznali mnie za jakiegoś marudę, który narzeka na każdą propozycję [diabel] Bardzo cenie wasze rady (Cepa - piwo dla Ciebie [browar] ). Chciałem po prostu dowiedzieć się jak sobie z tym radzicie i z jakimi sposobami się spotkaliście. I chętnie czytam wasze spostrzeżenia. Jeżeli faktycznie jest taki brak narzędzi tego typu to może faktycznie ludziom nie jest to potrzebne ;) ale to nie znaczy że ja nie mógłbym sobie ułatwić życia :)

Jeżeli jeszcze nie wynaleziono jeszcze czegoś takiego to znaczy pewnie, że czas to stworzyć. Zastanawiam się powoli nad napisaniem aplikacji o takich zaletach:

  • jeden plik exe
  • jeden plik bazy snippetów (w sqlite)
  • natywny win32 (żaden .net, air, php itp)
  • synchronizacja pliku bazy przez przesłanie pliku na najzwyklejszy serwer HTTP (jednocześnie w ten sposób załatwiamy sobie backup)
  • konfiguracja wszystkiego w tym samym pliku bazy co snippety (ograniczenie plików do minimum)
  • do tego wszystkiego super prosty ale bardzo funkcjonalny i odpicowany do perfekcji interfejs użytkownika (szybkie kopiowanie, szybkie wyszukiwanie itp.)

Jeżeli widzicie jakieś wady takiego rozwiązania proszę o protipy :)

0
papudrun napisał(a)

Wady:

  • potrzeba dostępu do internetu (lub do kompa w sieci lokalnej, na którym miałbym ten serwer) a programuje w pracy gdzie nie miałbym z tym problemu ale zdarza mi się też w domu przy czym dostęp do tego kompa przez VPN nie byłby najwydajniejszym rozwiązaniem

ja tam sobie openvpn chwale, zginalbym bez tego:D

0

A ja moze i mam sposob malo pr0 ale poki co mi sie przydaje i zdaje egzamin :)

Najzwyczajniej w swiecie ciekawsze ragmenty kodu przechwouje w jednym pliczku ( txt, word, czy cokolwiek takiego ). Z ta roznica jednak ze na poczatku ladnie mam posortowane wszystko i posegrgowane np:

Odczyt numeru seryjnego BIOSu
Odczyt daty wydania BIOSu
Odczyt właściciela praw autorskich BIOSu
Odczyt nazwy BIOSu
Otwieranie ComboBox za pomocą kodu
Zamykanie ComboBox za pomocą kodu
Ustalenie szerokości jaką będzie miało ComboBox po rozwinięciu
Kolorowy tekst w ComboBox
Umieszczanie obrazków w ComboBox

Ponizej caaalej tej listy mam np takie cos:

Odczyt numeru seryjnego BIOSu

void __fastcall TForm1::Button1Click(TObject Sender)
{
char MainBoardBiosSerialNo[100];
strcpy(MainBoardBiosSerialNo, (char
)0xFEC71);
Label1->Caption = MainBoardBiosSerialNo;
}

A wiec wystarczy przy szukaniu kodu wcisnac ctrl + f wkleic tekst np "Odczyt numeru seryjnego BIOSu" i wszystko ladnie mam :)

Wada?
Tego mam naprawde duzo i jesli ktos ma slaba pamiec gdzie co schowal na ktorym miejscu albo nie pamieta slow kluczowych to moze miec problem :) ja na szczescie takich problemow nie mam i zawsze wszystko znajduje jesli cos jest mi potrzebne.

Poza tym naprawde wazne kawalki kodu mozna umiescic sobie w osobnym pliku jako np "kody graficzne" czy "kody do algorytmiki" itd, itp.

Wazne w tej metodzie jest to by uzywac sensownych nazw kluczowych a wszystko bedzie dobrze :) ja pamietam slowa kluczowe ktore wpisywalem 4 lata temu w jednym pliku :)

Ale tak jak mowie metoda malo pr0 i moze wydawac sie malo uzyteczna jednak ja na niej caly czas jade i zero problemow :) i pliczki te naprawde swoje waza :)

Warto segregowac tematycznie :)

0

@polaczek17, fajny snippet, dostałeś w spadku czy sam wykopałeś? O bezsensowności strcpy nie warto wspominać.

0

dostałeś w spadku czy sam wykopałeś?

Jak to mowia w USA INZAKLI xD
Jakies 4 latka temu te kodziki mialem... chyba jakos w ten desen :) sa nowsze starsze etc.

A czy te kody sa w uzyciu czy nie to juz jest bezsensowny offtop :) chodzi o sposob ich segregowania i zbierania :)

ps: jesli sie nie myle to w kazdym FAQ o c++ jest wlasnie taki przyklad kodu. I chyba stamtad go mam :)

0

Dla zainteresowanych tematem znalazłem ciekawą propozycję
http://www.delphidabbler.com/software/codesnip/scr
Jest to program z gotową bazą snippet-ów dla Delphi

user image

1 użytkowników online, w tym zalogowanych: 0, gości: 1