|
zarius
|
 |
« Odpowiedz #30 : Lipiec 20, 2006, 03:58:42 » |
|
Ja moge sie pochwalic tym komfortem, ze nie sprawia mi wielkiej roznicy pisanie dokumentacji/komentarzy po polsku czy po angielsku. Moj jezyk ojczysty jest sredni a angola ucze sie hoho takze moge pisac smialo ;p Dlatego tez wszytstko w kodzie tez mam po angielsku. Zawsze mialem dylemat z komentarzami tylko czy zostawiac po angielsku czy pisac po polsku (no i czesto przeprawialem, raz tak raz tak ;p) Teraz zdecydowalem ze jednak po angielsku bo to jakos tak... bardziej pasuje x) Co do stylu to... jako jedyny sie nigdy nie zastanawialem. Po prostu pisalem jako tako, raczej zawsze trzymajac sie jednej konwencji nad ktora sie nie rozwodzilem zbytnio. Teraz jak sie zastanowie to moge powiedziec ze: w klasach pisze m_ przed zmiennymi bo gdzies tak zobaczylem ^^ (a moj "Intellisense" podpowiada ze to skrot od member no to sobie to zaadoptowalem ;p) tak samo w klasach wykorzystuje zreby tej notacji wegierskiej (iInteger, bBool, sCharArray, strString, pPointer, fFloat i tak dalej). Ze zmiennymi jest problem bo jak widac tutaj pisze je po tym przedrostku z duzej litery ale czasem czytajac jakies arty w ktorych jest inaczej sie mecze z tym :/ i to jest aktualnie glowny problem. Funkcje raczej z duzej litery np DrawShape(); co jest ciekawe (chyba ;p) wymyslilem sobie tez taki myk, ze dla funkcji prywatnych w klasie uzywam podkreslenia przed nazwa ( np.: _InternalFunction(); ) czytalem gdzies ze niby nie jest zalecane ale ja z tym problemow nie mialem ;p klamry tylko i wylacznie while(true) { DoSomething(); } Aktualnie koduje w C# wiec staram sie nauczyc robic ta pelna dokumentacje w postaci komentarzy ;p (ktora potem mozna wygenerowac w formacie XML czy cus takiego ^^) Fajny patent ze mozna kazdy parametr opisac etc. To mi sie bardzo podoba w C#. Co mogl bym jeszcze napisac to to iz nie uzywam komentarzy w stylu C ( /* */) w zyciu ich nie uzywalem i raczej nie mam zamiaru ;p Nie wiem czemu, ale kojarza mi sie z tymi trudnymi listingami i mallocami ktorych nie cieprie (to przez to opoznila sie moja przygota z programowaniem, ale kupilem zla ksiazke i bylem za mlody :/ Stosuje tez entery wszedzie gdzie sie da. Jesli zmienna w klasie jakos nie pasuje logicznie do "grupy" innych do oddzielam kolejna sekcje dwoma enterami (ogolnie to lubie patrzec jak moje listingi rosna o nowe linie ale bez przesady  ) Nie uzywam tych tematow typu: CMyClass, IShapeInterface SMyVertex etc. Kiedys (z pol roku temu) jak chcialem programowac w C++ i DX to uzywalem tego przejsciowo ale teraz w C# zupelnie z tego zrezygnowalem Wlasciwie to chyba wszystko...
|
|
|
|
|
Zapisane
|
[Butterfly Project]
Aktualne prace: Net Namespace ;p
|
|
|
|
Złośliwiec
|
 |
« Odpowiedz #31 : Lipiec 20, 2006, 08:01:18 » |
|
Wlasciwie to chyba wszystko...
Widzę, że masz bardzo podobny styl zapisywania kodu jak ja  . Jedyna różnica jest taka, że nie stosuję przedrostków "m_", ale też się zastanawiam, czy przypadkiem nie jest to trochę głupie z mojej strony. Wiadomo, że często w klasach umieszcza się takie zmienne, jak np. x, y. Jednocześnie, często deklaruje się także zmienne lokalne o takich samych nazwach (bo globalne to raczej nie  ), więc łatwo o pomyłki. Natomiast przedrostek "g_" przed nazwą zmiennej globalnej to rzecz wręcz bezcenna. Wspomnę jeszcze, iż nie przepadam za nazwami klas w postaci CKlasa. Kojarzy mi się to z MFC, którego nigdy nie lubiłem. Po prostu jakoś nie mogę się zmusić do nadawania takich nazw. Wolę jakieś przedrostki charakterystyczne dla aplikacji, którą aktualnie piszę (takie, jak np. przedrostek wx w bibliotece wxWidgets).
|
|
|
|
|
Zapisane
|
"Jedynym dowodem na istnienie pozaziemskiej inteligencji jest to, że się z nami nie kontaktują" (A. Einstein) Untitled - nowa wersja: llllllllllllllllllll 17%
|
|
|
|
zarius
|
 |
« Odpowiedz #32 : Lipiec 20, 2006, 13:34:51 » |
|
Wiadomo, że często w klasach umieszcza się takie zmienne, jak np. x, y. Jednocześnie, często deklaruje się także zmienne lokalne o takich samych nazwach (bo globalne to raczej nie Smiley ), więc łatwo o pomyłki. Natomiast przedrostek "g_"
Ja w ogole staram sie unikac zmiennych globalnych (a w C# juz za duzo mozliwosci do deklarowania czegos takiego nie mam ;p) Co do nazw zawsze mozna napisac this.x i wiadomo o co chodzi  Hehe... styl moze i podobny tylko moja "efektywnosc" w uzywaniu jezyka, jak i tego stylu jest delikatnie mowiac z lekka gorzej opanowana  ale moze przyjdzie dzien gdy wkoncu zaczne pracowac nad swoim mega-projektem i bedzie widac chociaz najmniejsze postepy  pozdro
|
|
|
|
|
Zapisane
|
[Butterfly Project]
Aktualne prace: Net Namespace ;p
|
|
|
|
Złośliwiec
|
 |
« Odpowiedz #33 : Lipiec 20, 2006, 14:45:07 » |
|
Ja w ogole staram sie unikac zmiennych globalnych (a w C# juz za duzo mozliwosci do deklarowania czegos takiego nie mam ;p)
Nie lubię, jak ich jest zbyt wiele, ale czasami nie chce się wprowadzać nowej klasy specjalnie po to, żeby wepchnąć tam zmienne, które nijak do niczego nie pasują. Moim zdaniem lepiej je zostawić jako globalne, niż na siłę szukać między nimi powiązań, tworzyć do nich akcesory czy wprowadzać jakieś dziwne przyjaźnie między klasami tylko po to, by do danej zmiennej był dostęp ze wszystkich miejsc, gdzie to jest potrzebne. Jednak generalnie się z tobą zgadzam, że więcej niż kilka zmiennych globalnych w programie wygląda paskudnie  . Co do nazw zawsze mozna napisac this.x i wiadomo o co chodzi  Raczej this->x, jeśli już  .
|
|
|
|
|
Zapisane
|
"Jedynym dowodem na istnienie pozaziemskiej inteligencji jest to, że się z nami nie kontaktują" (A. Einstein) Untitled - nowa wersja: llllllllllllllllllll 17%
|
|
|
|
matyssek
|
 |
« Odpowiedz #34 : Lipiec 20, 2006, 14:48:27 » |
|
Co do nazw zawsze mozna napisac this.x i wiadomo o co chodzi  Raczej this->x, jeśli już  . Zarius kodzi w C# 
|
|
|
|
|
Zapisane
|
|
|
|
|
Złośliwiec
|
 |
« Odpowiedz #35 : Lipiec 20, 2006, 15:02:23 » |
|
Zarius kodzi w C#  Ups, nie doczytałem  .
|
|
|
|
|
Zapisane
|
"Jedynym dowodem na istnienie pozaziemskiej inteligencji jest to, że się z nami nie kontaktują" (A. Einstein) Untitled - nowa wersja: llllllllllllllllllll 17%
|
|
|
|
zarius
|
 |
« Odpowiedz #36 : Lipiec 27, 2006, 11:16:59 » |
|
W C++ tez kodzilem dosyc dlugo ;p nawet dluzej niz w C++.
Ale gdy doszedl DirectX zauwazylem ze MDX jest jakos tak... latwiejszy w obsludze ;p Mimo ze sa ludzaco do siebie podobne. Byl jeszcze drugi powod ;p Sockety... jakos nie chcialo mi sie czytac 500 stron MSPress'a zeby dowiedziec sie czegos o socketach ktore jako takie gole sa banalne ;p (Tamta ksiazka mi utrudniala zrozumienie podstaw ;p)
|
|
|
|
|
Zapisane
|
[Butterfly Project]
Aktualne prace: Net Namespace ;p
|
|
|
|
Kurak
|
 |
« Odpowiedz #37 : Lipiec 27, 2006, 11:19:08 » |
|
W C++ tez kodzilem dosyc dlugo ;p nawet dluzej niz w C++.
Hmm ;p Co do socketów to ja ich używałem po przeczytaniu "Beej's Guide..." i nie było problemu ;]
|
|
|
|
|
Zapisane
|
^ tam nie ma nic ciekawego
|
|
|
Ayertienna
Newbie
wiadomości: 1
Do What Thou Wilt
|
 |
« Odpowiedz #38 : Sierpień 03, 2006, 23:32:26 » |
|
Nazwy zmiennych angielskie, komentarze takoż - wyniesione z jakiegoś odchamiacza na studiach typu programowanie obiektowe w Javie, czego by o nim nie mówić mój kod zaczął być czytelny dla generatora javadoc'a.. ( gorzej, że przez przejście na stałe w tryb pisania w ten sposób moje programy zaczynają wyglądać jak sen pijanego szakala jeśli piszę je w innym niż Java języku - jako czlowiek stosunkowo prosty nie lubie udziwnień, w związku z czym przestawianie się na klamerki w nowych liniach jest ponad moje siły i wolę, nie wspominając jak wyglądają strzępki Pascala w moim wykonaniu obecnie..)
Podziwiam szczerze tych którzy są tak bardzo elastyczni jeśli chodzi o stosowanie wcięć i nazw zmiennych, może to nabywa się z doświadczeniem, którego mnie niestety na razie trochę brakuje, ale jak dotąd wygląda to tak, że widząc mój kod np. w c++ czy delphi wykładowca (bo normalnie tych języków poza contestami nie używam) łapie się za głowę i zarzuca mi, że to na pewno ściągnięte z netu, bo wcięcia, bo nazwy zmiennych i komentarze angielskie.. co ja sie przez to natłumaczyłam, że po prostu tak piszę...
|
|
|
|
« Ostatnia zmiana: Sierpień 04, 2006, 00:11:29 wysłane przez Ayertienna »
|
Zapisane
|
Through the sorrow all through our splendor...don't take offense at my innuendo
|
|
|
Smetana
Full Member
 
wiadomości: 114
Geek
|
 |
« Odpowiedz #39 : Sierpień 03, 2006, 23:58:11 » |
|
Ja daje nazwy klas i zmiennych po angielsku, a komenty po polsku. Z kolei wcięcia zawsze takie: void X() { }
A nie trawię takich: void X(){ }
|
|
|
|
|
Zapisane
|
Kapeczka.
|
|
|
|
bies
Gość
|
 |
« Odpowiedz #40 : Sierpień 04, 2006, 00:02:14 » |
|
Ayertienna: Jeśli piszesz programy tak jak tą wiadomość to dziwię się wykładowcom i ich zastrzeżeniom. A może po prostu, wśród tego bełkotu. Gdzie znaków przestankowych i wielkich liter nie ma, a tylko bywają. Zapomniałem jak zgrabne mogą być zdania. ,,Sen pijanego szakala'' - świetne.
|
|
|
|
|
Zapisane
|
|
|
|
bluebat
Newbie
wiadomości: 21
|
 |
« Odpowiedz #41 : Styczeń 29, 2007, 20:20:21 » |
|
Ja osobiście piszę calutki kod po angielsku. Jak widze polskie nazwy zmiennych etc. to po prostu nie pasuje mi to do reszty języka  /* Komentarze glownie w stylu standardowym c, tylko po angielsku */
class foo : public foo2 /* nazwy klas, typow itd malymi literami, z podkresleniami */ { /* nawiasy klamrowe po klasach i funkcjach w nowej linii */ void bar_underscore(int a, int b) /* spacje po przecinkach, brak zbednych spacji */ { int c, d; /* deklaracje po przecinku sa czytelne i lepsze niz wiele linii */
if(a) { /* ...a nawiasy po ifach, whilach, etc w tej samej linii */ something(); } else if(1) { return; } } };
Nawiasy klamrowe piszę zgodnie z zaleceniami Linusa  Czyli funkcje itd. maja nawias w nowej linii, a wewnetrzne konstrukcje w jednej, zeby kod mniej miejsca zajmowal. Nazwy piszę małymi literami, bez przedrostkow iFoo, bBoolean etc. Zawsze tylko taby, zadnych wielokrotnych spacji. Duzo wagi przywiazuje, zeby kod byl jednolity i czytelny, np zawsze jest '}<spacja>else<spacja>if(...)<spacja>{'.
|
|
|
|
|
Zapisane
|
|
|
|
|
klosio.neostrada.pl
|
 |
« Odpowiedz #42 : Kwiecień 07, 2007, 14:00:23 » |
|
Polski, czy angielski? To zależy:) Gy piszę jakieś małe narzędzie, czy prosty program dla siebie, to piszę przynajmniej komentarze po polsku, ale poza tym stosuję angielski wszędzie, gdzie się da. Oprócz tego trzymam się zawsze następującej notacji: -wszystko małą literą -podkreślnik między słowami I działa. Taki nawyk z Game Makera. Z resztą wg mnie nie ma sensu dodawać przedrostków/ przyrostków. Zawsze dążę do tego, żeby sensowna nazwa załatwiła sprawę. Na przykład dla mnie wystarcza, że w nazwach funkcji jest najczęściej czasownik, a w innych obiektach rzeczownik  Czasami natomiast dodaję pisany wielką literą przedrostek przed własnymi typami obiektów. Zazwyczaj jest związany z tym, do jakiej (umownej) grupy typów/ do jakiego projektu należy. Czasami są nim moje inicjały  W złożonych projektach wyszczególniam jakoś zmienne globalne, ale z rozpędu najczęściej nie stosuję np we wszystkich tego samego przedrostka, tylko nazywam je ciekawie, np "ogolna_liczba_kur" 
|
|
|
|
|
Zapisane
|
Im szybsza kura, tym później będzie rosół.
|
|
|
|
radex
|
 |
« Odpowiedz #43 : Kwiecień 07, 2007, 15:41:04 » |
|
moje nazywki(jeśli chodzi o php, bo do c++ sie nie przyzwyczaiłem i robie raz tak a raz inaczej: nazwy: styl z dużymi i małymi literami i częste skróty. rozpoczynam z małej a kiedy jest cyfra to nie ma dużej litery bo zmiejsza to czytelność (w php i tak to nie ma znaczenia, ale czytelność  ) np. QArray pl vs en : komentarze po polsku, a zmienne staram się pisać po angielsku, ale jak nie wiem to po polsku, funkcje zawsze po angielsku(przykład troche głupi bo po co komentarze ale to tylko przykład np. $md5pass = md5($pass); // hash MD5 ze zmiennej $_POST styl klamrów: K&B (czy coś takiego), klamra otwierająca razem z np. if'em, zamykająca w osobnej linii, a jeśli jest np. else to oby dwie klamry w tej samej linii z tym else przykładowo... Sądze ze ten sposób zaoszczędza niepotrzebnych linii, a wcale nie zmiejsza czytelności ( ja jakoś łatwo widzę kiedy nie otworze klamry, wiec looz) np. if(TRUE){ Something(); }else{ SomethingOther(); } Stałe: zawsze pierwsza duża litera reszta małe oddzielenie podkreślnikiem oraz na początku i dwa podkreślniki np: __Main_Counter Większość funkcji piszę liniowo (czy jak to tam) ale takie "poważniejsze" rzeczy (nie wiem jak to określić dokładnie) pisałem obiektowo (pisałem bo zapomniałem ale wystarczy tylko odświerzyć informacje no i .... Zawsze robię wcięcia i uwielbiam grupować (mam taki zajefajny edytor, w którym można dowolne części kody chować i rozwijać, dzięki czemu zyskuje na czytelności (większość moich plików to ok. 300 linii, więc łatwo się zgubić...)
|
|
|
|
|
Zapisane
|
|
|
|
|
vashpan
|
 |
« Odpowiedz #44 : Kwiecień 08, 2007, 13:15:31 » |
|
Ja mialem/mam doczynienia z C,C++,C#,Java,D ( ale w 90% C++ ) Czyli wszystkie jezyki wywadzace sie skladniowo od C Wiec stylu zmieniac nie musze  Jak wiekszosc, kod pisze po angielsku - rzeczywiscie dziwnie pasuja polskie nazwy do angielskich slow kluczowych  Zreszta.. przewaznie polska nazwa jest dluzsza i to tez ma znaczenie. Za to komentarze pisze sobie po polsku, hmm uwazam ze jest to cos osobistego  Pisze w swoim ojczystym jezyku ;p Czasami sie zastanawiam czy to moze niedobrze... ale poki moje projekty czytam tylko ja to problemu nie ma Moj styl kodowania to cos co chyba sie nazywa ANSI... Nie lubie stylu Javy, gdzie if(something) { doSomething(); }
Jakos do mnie nie przemawia ze kod zajmuje mniej miejsca.. Niech sobie zajmuje  Dysk mam duzy ;p a czytelnosc jest mniejsza... Funkcje z zaczynam z duzej litery i kazdy wyraz rowniez z duzej litery ( jak w WinAPI ) Zmienne klasowe nazywam zgodnie z notacja wegierska z przedrostkami, ale bez m_, za to zmienne lokalne i argumenty funkcji z malej litery bez przedrostkow - troche to dziwne i glupie ale jakos mi tak zostalo :/ I nie mam motywacji by to zmienic, moze w nowym wiekszym projekcie  Nazwy klasy to zalezy, czasami literka z przodu, nawet z uzyciem przestrzeni nazw moze byc pomocna. Mam za to zawsze dylemat jak nazywac obiekty gdy nie sa wskaznikiem... Stanelo na tym ze bez przyrostkow, jak funkcje. ( wyjatkiem robie kontenery STL, czyli np: std::vector vecKontener; ) Komentarze roznie... czasami trzeba zakomentowac na chwile kawalek linijki i wtedy komentarz /* */ jest nieoceniony  Zreszta uzywam go takze w dokumentacji ktora staram sie generowac z pomoca doxygena w wiekszych projektach ( w C++, bo narazie malo pisalem w Javie i C# ( no i w D bo tez tam jest dokumentator wbudowany ) zeby pisac az dokumentacje ) No i chyba tyle... ogolnie styl podobny do Zariusa i Zlosliwca 
|
|
|
|
|
Zapisane
|
|
|
|
|