Corel FORUM Strona Główna Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Makro RGB na CMYK, 100%K, overprint
Autor Wiadomość
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 19 Sierpień 2013, 18:42   

Bidonik, jak taki program składa się z dziesięciu wierszy, to nie ma żadnego problemu, jak ma 10 tys. linii, to bez zachowania porządku nie da się takiego projektu opanować :-)
 
 
maroQ 
Doradca


Pomógł: 16 razy
Wiek: 40
Dołączył: 08 Lut 2011
Posty: 117
Skąd: Kalisz
  Wysłany: 19 Sierpień 2013, 21:00   Nie do rymu, nie do taktu, wsadź szamana do kontaktu.

chezare napisał/a:
jak ma 10 tys. linii, to bez zachowania porządku nie da się takiego projektu opanować
Dokładnie :poklon

Poza tym stosuje się jeszcze specjalną składnię opisu funkcji i klas do generowania dokumentacji technicznej. Jak przy projekcie pracuje więcej niż jeden programista to to się przydaje. Dokumentacja jest generowana prawie automatycznie na bazie kodu źródłowego (np. javadoc) lub plików xml zapisywanych przez środowisko (np. Visual Studio), które później przy użyciu np. Doxygen można zamienić na bardzo ładną dokumentację.

Tak przykładowo mam własnie otwartą jedną z klas pewnego wielkiego makra dla Corel i tu razem z komentarzami jest 2046 linijek (takich klas jest sporo w programie). Bez komentarzy przy dziedziczeniu i rozbiciu projektu na wiele bibliotek dll trudno jest się połapać co jest do czego. Zresztą nawet posiadając komentarze ciężko jest czasem przeszukiwać kod w poszukiwaniu błędów lub zmian. W VB.NET dodano dodatkowe dyrektywny tj.:
Kod:
#Region "Opis czegoś"
'miejsce na metody i funkcje
#End Region

Dzięki niej da się zwijać kod tzw. "plusikiem". Taka opcja zaczyna się opłacać powyżej 300 linii kodu (licząc bez komentarzy i pustych linii) w klasie.

No ale wracając do wcięć to np. w Programmers Notepad, Notepad++, Eclipse, NetBeans itp. da się ukrywać inne zbliżone rzeczy. Przykładowo w PN stosowane są linie pomocnicze które pokazują wcięcia co pozwala wizualnie ogarnąć kod. Czasem można nawet zwijać tekst wewnątrz if, for itp.

Jako ciekawostkę powiem, że istnieją konkursy w pisaniu kodu w jak najmniej czytelny sposób. Niektórzy nawet potrafią tworzyć obrazki z kodu, ale to tylko w C bo tam za pomocą odpowiednich deklaracji specjalnych typów da się robić cuda. Kiedyś zrobiłem numer na zajęciach i napisałem sobie zestaw instrukcji w pliku nagłówkowym tak by wyglądało na to, że w C działają instrukcje języka PHP. Doktorek nie rozumiał co się dzieje kiedy pokazałem mu że da się to skompilować w zwykłym przestarzałym DevC++.

Dobra. Obiecuję więcej nie pisać takich litani :-o szczególnie, że to się ma nijak do tematu ani do VBA.
 
 
bidon184
[Usunięty]

Wysłany: 19 Sierpień 2013, 21:57   

hym,ja napisałem post ale go skasowałem,jednak,musze jeszcze raz napisać,o jakie wcięcia wam chodzi i jakie odnośniki :roll: nie będe wklejał tutaj AS bo za dużo miejsca zajmuje,ale weżcie mi powiedzcie o czym rozmawiacie,bo nie moge zatrybić,daje przykład kodu ,pierwszy jest DemonicHawk,drugi zaczynający się od wiersza Und schalten Sie den jest wykładnią moją i kolegi Kulesiak2,na tym przykładzie prosze mi wyjaśnić co to są te wcięcia :roll: :oops: daje link http://www.mylgcookie.com...ic,19926.0.html
 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 20 Sierpień 2013, 00:23   

Bidon, każdy program, w jakim by języku nie był napisany, to zwykły tekst, mniej lub bardziej niezrozumiały dla kogoś kto nie wie o co chodzi. Wcięcie w takim tekście jest dokładnie takim samym wcięciem jak np. na początku akapitu w książce.
W specjalizowanych edytorach to zresztą nie jedyny sposób na rozróżnianie pewnych fragmentów kodu, mogą służyć temu np. różne kolory, albo różna czcionka.
Generalnie chodzi o to, żeby lepiej było widać co jest z czym związane.
Jak masz np. jedną pętlę od do, to wcięcia oprócz wartości estetycznych nie mają ani znaczenia, ani większego sensu, ale jak tych pętli jest kilka jedna w drugiej a w każdej są jakieś instrukcje które coś robią, to fajnie jest wiedzieć co do którego fragmentu należy.
Służą do tego celu różnej głębokości wcięcia.
Chodzi o to żeby było łatwiej zrozumieć konstrukcję procedury. Oczywiście da się to zrozumieć i bez wcięć, ale będzie trudniej. To tak jak marnie złożona książka, przeczytać się da, ale czytanie zmęczy czytającego.
Oprócz tych nieszczęsnych wcięć istotnych jest wiele innych rzeczy jak np. nazwy zmiennych, stałych czy choćby nazwy funkcji czy procedur. Jak się nie przemyśli tego na początku, nie będzie konsekwentnym w przestrzeganiu założeń, to połapanie się w tym co się samemu napisało po tygodniu będzie bardzo trudne, a po roku nie będziesz wiedział zupełnie o co chodzi.
Jak procedurę nazwałeś np. Oblicz_Pole, a nie OP, to po roku będziesz wiedział do czego służy. Mało tego, powinieneś mieć to zapisane w dokumentacji, bo nie da się do końca uniknąć nazewnictwa, którego znaczenie nie uleci nam po jakimś czasie z pamięci.
Te zabawy tutaj z VBA czy choćby ten skrypt do którego link podałeś, to są naprawdę drobiazgi, w których i bez zachowania porządku da się połapać, ale poważne aplikacje to są tysiące linii kodu, dziesiątki różnych bibliotek i innych pomocniczych plików, pisanych często przez kilkunastu czy kilkudziesięciu ludzi, bez precyzyjnego planu i dyscypliny nie da się takiego projektu złożyć do, za przeproszeniem, kupy.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.1 sekundy. Zapytań do SQL: 12