- A hozzászóláshoz be kell jelentkezni
- 5859 megtekintés
Hozzászólások
A "...sosem teszem ki a { } jeleket, mert csak több utasítás esetén muszáj"-t választottam, mert erre törekszem, néha lustaságból/figyelmetlenségből bent hagyom a { }-t persze. Szerintem az olvashatóság javul azzal, ha nem teszem ki, mivel ezzel is hangsúlyozom, hogy csak egy utasítás van.
- A hozzászóláshoz be kell jelentkezni
aztán ha eszedbe jut, hogy hopp ide még kéne valami, hozzácsapod és kész a baj...
- A hozzászóláshoz be kell jelentkezni
Ez meg jobb benezes
#include <stdio.h>
int main(int argv,char *argc[] )
{ int i;
for (i=0;i<5;i++);
printf("Hello %d. \n",i);
return 0;
}
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Ezen a {} sem segítene :-)
for (i=0;i<5;i++); {
printf("Hello %d. \n",i);
}
- A hozzászóláshoz be kell jelentkezni
Annyiban igen, hogyha a coding convention megköveteli, hogy a ; helyett {} legyen, az már elég feltűnő ahhoz, hogy ne nézd be.
- A hozzászóláshoz be kell jelentkezni
Az a legjobb, ha a kódolási szabályokat lefektetik és azt egy eszközzel ki is kényszerítik, akkor ezen hibák nem jönnek elő.
Illetve az ilyen hibákra a jobb fordítók fel is hívják a figyelmet.
- A hozzászóláshoz be kell jelentkezni
Normális kóder kényszer nélkül is "szép" kódot ír, kókler meg python-ban is képes ronda, olvashatatlan f0sch kódot elkövetni.
- A hozzászóláshoz be kell jelentkezni
Túloldalt a Go thread-ben meg mindenki erre panaszkodik. Most tegyél igazságot. (amúgy én veled értek egyet)
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
ilyennel már én is szívattam meg magamat párszor, hogy az üres utasítást raktam ciklusba.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Milyen gyakran produkalsz/produkaltal ilyen hibat hogy muszaj legyen kirakni a zarojeleket?
- A hozzászóláshoz be kell jelentkezni
Én is a fentiek szerint csinálom, de kizárólag akkor, ha egy sorba írható.
- A hozzászóláshoz be kell jelentkezni
+1, én is pontosan ezért teszem ki minden esetben.
- A hozzászóláshoz be kell jelentkezni
Attol fugg, hogy az adott kornyezetben mi a konvencio, gondolom.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
nemide...
- A hozzászóláshoz be kell jelentkezni
akkor is kiteszem a {}-eket, kivéve, ha az az 1 utasítás megszakítja a szülő-blokk futását, tehát pl. break, continue, throw esetén
- A hozzászóláshoz be kell jelentkezni
+1
Épp ezt akartam írni. Mindig kiteszem a zárójelet, kivéve a continue, break esetét, bár a return, exit is ide tartozhat.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Mindig kiteszem, kivéve ha éppen golfozunk. :)
- A hozzászóláshoz be kell jelentkezni
Kiteszem a jeleket és alkalmazom a Drupal Coding standards-ot.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
[Feliratkozás]
- A hozzászóláshoz be kell jelentkezni
Amúgy szerintem elhagyni a jeleket veszélyes, ha újabb sort kell beszúrni oda, plusz csúnyává teszi a diff-et. :)
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Szvsz meg rookie kódolókat fenyeget leginkább ez a veszély. Azok meg nem csak ezt nézik be, hanem komplett mechanizmusokat is.
- A hozzászóláshoz be kell jelentkezni
Pedig nem csak őket. Szerintem bárki lehet fáradt, akadhatnak kódolás közben más teendői is, illetve szükség lehet nagyon gyors hibajavításra. Érdemes már a kód írásakor kizárni minél több hibalehetőséget.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Ez egy logikusnak tuno, amde szerintem nem egeszen igaz magyarazat. A gyakorlatban tapasztalt programozoktol meg talan sosem lattam ilyen hibat. Talan egyszer.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
Nem értünk egyet. Nem mellesleg az is egyfajta hibalehetőség, hogy túl terjengős a kód vezetése, így kevésbé átlátható. Bár tény, hogy a tapasztalatlanok számára bármi lehet aknamező.
- A hozzászóláshoz be kell jelentkezni
Ez a helyes válasz. Attól függ, hogy éppen milyen Coding Standard szerint dolgozik az ember.
- A hozzászóláshoz be kell jelentkezni
Ok, de gondolom a kérdés arra vonatkozik, ha te döntöd el, hogy mi legyen a konvenció, akkor melyiket preferálod.
- A hozzászóláshoz be kell jelentkezni
Szerintem olyan nincs, hogy te döntöd el, milyen legyen a konvenció. Ha zárt forrású és teljesen új dolgot csinálsz, akkor talán. De egyéb esetben mindenképpen alkalmazkodni kell valamihez.
Speciell én azokat a kódolási szabványokat jobban szeretem, amikben nem kell kitenni a {-t (pl. MFC), de azok eltűnőben vannak.
- A hozzászóláshoz be kell jelentkezni
Milyen nyelvrol van szo? Van amelyik megkoveteli, hogy kitegye az ember, van amelyik megengedi, hogy ne. Es van ahol nincs {}, de nyilvan nem ez utobbiakrol szol a szavazas.
--
|8]
- A hozzászóláshoz be kell jelentkezni
Python?
- A hozzászóláshoz be kell jelentkezni
Broáf :) Ott inkább a mennyi whitespace és milyen a kérdés...
- A hozzászóláshoz be kell jelentkezni
höhö... emlékszem, mikor elöször kerestem hibát pythonban... szerintem az egész család csuklott, mikor erre rájöttem magamtól.
- A hozzászóláshoz be kell jelentkezni
:-)
- A hozzászóláshoz be kell jelentkezni
Nyilván olyan nyelvről van szó, ahol nem kötelező kitenni, de ki lehet. A többinél nincs választási lehetőség.
- A hozzászóláshoz be kell jelentkezni
A projektben beallitott automatikus kodformazora bizom.
Ha nekem kell beallitani a formazot, akkor a "sosem teszem ki a { } jeleket, mert csak több utasítás esetén muszáj"-t preferalom.
- A hozzászóláshoz be kell jelentkezni
Jobb az ha ki van téve. Nem lesz tőle lassabb a program, kevesebb hiba lehetőség, ráadásul szerintem áttekinthetőbb.
--
HUPbeszolas FF extension
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
igy van
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
így gondolom és teszem én is.
- A hozzászóláshoz be kell jelentkezni
if(verbose) printf(...);
vs.
if(verbose) {
printf(..);
}
Szerinted az utobbi tenyleg jobban olvashato?
- A hozzászóláshoz be kell jelentkezni
Szerintem igen, indentálással egybekötve.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Termeszetesen az ott volt, csak aztan a HUP kivette...
Hat nem tudom... Szerintem specialis esetekben jobb nem kirakni. Pl. van egy programom amiben egy ilyen verbose cucc rengeteget szerepel. Rengeteget rontana az atlathatosagan es olvashatosagan mindig 3 sort foglalna el.
- A hozzászóláshoz be kell jelentkezni
Plusz még a régi téma: http://hup.hu/szavazasok/20120404/ciklus_es_felteteles_blokkokon_belul_…
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Az adott esetben gyakorlatilag 0 eselye van annak, hogy kesobb tobb soros legyen az if. Olyan esetekben en is kipakolnam, de ugyanakkor azok nem is ismetlodnek annyit, tehat nem rontja az olvashatosagot.
+ eleg szigoruan veszem a kommentezest. Altalaban annyi kommentet irok, hogy ha a kod elveszne, akkor is ujra tudjam irni a programot. (Nem azert, mert ez elofordulhatna, hanem mert igy lehetek biztos abban, hogy elegendo kommentem van.) Ez azt jelenti, hogy az if-eken belul is szokott lenni legalabb egy sor ami megmagyarazza, hogy mi tortenik itt. Azt meg mindenkeppen kulon sorba veszem.
Szoval en nem vallasi ugyet csinalok a dologbol, hanem igyekszem a kod olvashatosagat figyelembeveve donteni.
- A hozzászóláshoz be kell jelentkezni
Ha valamit sokszor használasz illik rá írni egy függvényt.
--
HUPbeszolas FF extension
- A hozzászóláshoz be kell jelentkezni
Persze, azt is csak ésszel. Kedvencem, mikor egy szál Exception dobását kiszervezik függvénybe. Minek? Hogy nehogy már ott dobódjon az Exception, ahol a hiba keletkezik?
----------------
Lvl86 Troll - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ha rengeteget szerepel, akkor rosszul csinálod - ahogy írták is, függvény/naplózó keretrendszer javasolt.
- A hozzászóláshoz be kell jelentkezni
Igen, gondolkoztam rajta. A helyzet viszont az, hogy azok túl sokat tudnak az adott felhasználáshoz. Egy egészen buta assembler-ről van szó egy egészen buta procihoz és tudom, hogy soha nem lesz szükségem többre mint amit egy ilyen if tud.
- A hozzászóláshoz be kell jelentkezni
void log(msg) {
if(verbose) {
printf(msg);
}
}
log("Helloka");
Miert rontana az atlathatosagon?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
1. a verbose-nak globalis valtozonak kell lennie, amit nem feltetlenul akarok.
A log(verbose, "kiirando uzenet\n); meg mar nem annyival rovidebb.
2. a log("Label %s found in line %d.\n", nlabel, line); megoldasa mar nem ilyen egyszeru.
- A hozzászóláshoz be kell jelentkezni
Miert ne lenne egyszeru? vprintf, vsprintf... En kezdo C-s vagyok, de csinaltam mar ilyet.
A verbose meg lehet #define is, vagy a konfig resze is (get_param('verbose')), vagy akarmi. A lenyeg, amit meg akartam mutatni, az az, hogy ha ezt refaktoralod egy fuggvenybe, akkor a kodod atlathato marad, es csak egy helyen van dontesi logikad.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
"A verbose meg lehet #define is, vagy a konfig resze is (get_param('verbose')), vagy akarmi."
Nade pont az a lenyeg, hogy fuggvenyenkent/alrendszerenkent eltero lehet. ;)
Persze, lehet ra talalni mas megoldast is, de igazabol az egy soros if tökéletesen megfelelt a célnak. Miért ne használnám?
- A hozzászóláshoz be kell jelentkezni
Ez a thread a legjobb példa arra, hogy minden rossz beidegződést meg lehet magyarázni... :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
Mert ha EGYSZER rájössz, hogy mégse úgy akartál logolni... Sosem kopipasztázunk, ha már kopipaszta valamiért, akkor #define, az ugyanazt csinálja, csak nem kézzel.
"fuggvenyenkent/alrendszerenkent eltero lehet"
Ezt neked is kezelned kell az if-eidben, egy darab asszociatív tömb a megfelelő paraméterezéssel simán letárolja neked akárhány függvény és subsystem paramétereit.
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
"Mert ha EGYSZER rájössz, hogy mégse úgy akartál logolni... Sosem kopipasztázunk, ha már kopipaszta valamiért, akkor #define, az ugyanazt csinálja, csak nem kézzel."
Ebben a programban nem fogok így járni. Nagyobb projektnél meg eleve máshogy kezeltem volna a logolást. Szerintem problémához kell választani az eszközt és nem meggyőződésből használni valamit.
- A hozzászóláshoz be kell jelentkezni
Ez így van, de egy ilyen kis triviális megoldás, mint kirakni függvénybe, mindig megéri. Mert nem tudhatod előre.
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Te nem tudod. Ő tudja. Ez a különbség. :-)
- A hozzászóláshoz be kell jelentkezni
Én tudom, hogy ő nem tudja. Ezt nem lehet tudni előre.
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
Felmértem a projekt méretét (~2000 sor kommentek nélkül), a program élettartamát (~6 hónapra kell) és jövőbeni újrafelhasználhatóságát (nagyon feladatspecifikus) és arra a következtetésre jutottam, hogy az if(verbose) pontosan illeszkedik a feladathoz. Amennyiben a jövőben tényleg át kell majd írnom, komolyan írni fogok ide. Be is írtam kommentbe a téma címét.
- A hozzászóláshoz be kell jelentkezni
Biztos, hogy kell ez így? :)
Miért nem valami logger framework-öt haszálsz? Amiben így nézne ki (a loglevel-nek megfelelően):
log.trace(...);
log.debug(...);
log.error(...);
És a loglevelt menet közben is tudod állítani. Nem hinném, hogy C/C++ esetén nincs ilyen lehetőség, mint a log4j vagy slf4j, és rettentő sok szívástól mentesülsz, illetve a program is sokkal olvashatóbb lesz.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
syslognak hivjak, es minden POSIX kompatibilis rendszernek resze, ha jol tudom.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Szerintem nem attekinthetobb, de en olyan helyrol jovok ahol az alabbi teljesen altalanos volt:
do_whatever() if blah;
En ezt teljesen olvashatonak talalom, az if (blah) { do_whatever(); } szamomra kevesbe olvasmanyos.
--
|8]
- A hozzászóláshoz be kell jelentkezni
-1
- A hozzászóláshoz be kell jelentkezni
Jó is az, szépen meg lehet vele zavarni a kezdő kódfaragókat :-)
- A hozzászóláshoz be kell jelentkezni
Hadd talalgassak... perl? :-)
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Egyetemen egyik barátom felvett egy választható programozós órát. A végén megkérdeztem tőle, hogy mit tanultak ott. Azt válaszolta, hogy a tanár szerint a blokk jelölő zárójelet mindig ki kell tenni.
- A hozzászóláshoz be kell jelentkezni
Régebben nem tettem ki, aztán jöttek mindenféle elemző szoftverek, amelyeknél jelentősen rontja a metrikákat (és ezzel növekszik a technical debt), ha nem átlátható és könnyen karbantartható a forráskód. Ha nem tesszük ki mindig a blokk elejét-végét, akkor ezzel jövőbeli magunkat vagy másokat szivatunk meg, tehát többe kerül majd a módosítás -- és ezzel egyet is tudok érteni, szóval érdemes elgondolkodni, hogy bizonyos dolgok mit okoznak.
Java esetén a Sonar-t érdemes használni ilyesmire, itt egy példa: http://sonar.javaforum.hu/dashboard/index/209
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
Köszi, ez jó kis eszköznek tűnik!
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
OFF: azt hogy csinaltad meg, hogy a Jenkinsben zold pott egybol a konzol kimenetre visz a Build History-ban? Ilyet szeretnek en is itthonra, Jenkins mar van.
Kozben meglett. Kar, hogy ezt csak erre a pottyre lehet automatizalni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Örülök, hogy meglett, mert egyébként fogalmam nincs, miképp sikerült, hol kell beállítani? :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
A megoldas nagyon banalis: default igy van, de csak es kizarolag a build historynal. Nekem olyan kellene, hogy ha elfailedezik egy job, akkor a job nezetbol tudjak odanavigalni a konzoljara, mert altalaban ugyis valami egyszeru hibaja van (tegnap pl. volt egy connection timeout-om mert doglodott a slave netje).
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
A zavarja az olvashatóságot az mit jelent? "Szerintem" vagy valamilyen standard szerint?
Pl. gondolom van akit nem zavar egy ilyen:
if (feltetel1)
if (feltetel2) {
utasitas1;
utasitas2;
utasitas3;
...
utasitasn;
} else {
utasitas1;
utasitas2;
};
Hisz a külső if-nek a belső csak egy utasításnak számít, legyen az bármennyire összetett is. Így ident nélkül az igazi :)
Jobb ha az ember valamilyen jól definiált szabály (coding style) alapján kódol és nem saját szubjektív ítélete alapján. Pl: http://leaf.dragonflybsd.org/cgi/web-man?section=9&command=style
- A hozzászóláshoz be kell jelentkezni
Hat, ebben az esetben pont, hogy zavarja az olvashatosagot, mert elo kell venni az epp hasznalt nyelv kezikonyvet/szabvanyat, es megkeresni a kevesbe gyakorlott programozonak, hogy szemantikailag az az else az elso vagy epp a masodik if-re vonatkozik -- ellenkezo esetben kellemetlen meglepetesek erhetnek.
- A hozzászóláshoz be kell jelentkezni
ez undorito, talan ez a kod legjobb erv amellett, hogy mindig tegyuk ki
- A hozzászóláshoz be kell jelentkezni
A józan ész csodákra képes. Ha csak egy if(...) return;
a cucc, akkor az még a sortörést sem érdemli meg. Egy összetettebb struktúrát viszont nyilván érdemes bekeríteni a rezervátumba, ahogy arról a "ha zavarja a hiánya az olvashatóságot" kitétel megemlékezik.
- A hozzászóláshoz be kell jelentkezni
Jozan esz my ass. Amig egyedul kodolod a zugprojektjeidet, addig lehet a "jozan eszre" hagyatkozni, amig emlekszel arra, hogy azon a heten mit jelentett a jozan esz. De erdekes modon emberrol emberre valtozik, hogy kinek mi fer a jozan esz kategoriaba.
- Not even the slightest bit -
- A hozzászóláshoz be kell jelentkezni
Kétségtelen, hogy egy 5-10 fős csapatban mindig lesz 1-2 olyan ember, akit még az is zavar, hogy az egysoros elágazások nincsenek zárójelezve. Bár ezeket az embereket más is zavarni szokta, így nem túl nagy karriert futnak be projekteken belül. A legutóbbi ilyen pl elment szülni...
- A hozzászóláshoz be kell jelentkezni
Uh, ott akkor már tényleg gondok lehettek... :)
- A hozzászóláshoz be kell jelentkezni
Ezen most nevettem :D
----
Hülye pelikán
- A hozzászóláshoz be kell jelentkezni
HA a kódolási konvencióban benne van, hogy mindenhová rakd ki, akkor ki kell rakni - akinek nem tetszik, az mehet kapálni, mert a kódja nem fog átmenni.
- A hozzászóláshoz be kell jelentkezni
Én úgy vagyok ezzel, hogy ne egy-két ember legyen, akit ez zavar, egyszerűen kell release folyamatba jónéhány elemző program, amelyek majd ügyelnek arra, hogy az adott forráskód az értelmes és hasznos metrikák mentén fejlődjön.
Már említettem volt a Sonar-t (pl.: http://sonar.javaforum.hu/dashboard/index/209), kérlek futtasd le a projektedre és mondj néhány jellemző értéket, ha Téged zavar az a néhány ember, akit zavar a jó minőségű kód... :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
Fogalmazzunk úgy h a jelenlegi projektjeinkkel kapcsolatban nem lenne korrekt a részemről :)
Másrészt meg a kód formai része épp az imént említett eszközök miatt sem kifejezetten a minőség részhalmaza, inkább csak van egy kisebb metszete.
Engem inkább az zavar ebben az egészben, hogy pár ember képes ennyire fennakadni a kisebb formai eltéréseken, akár support/bugfix, akár review a szempont.
- A hozzászóláshoz be kell jelentkezni
Sok kicsi sokra megy, elég egy tucatnyi ilyen elvárást figyelmen kívül hagyni és csak növekszik-növekszik a végtelenségig a technical debt.
Ha support/bugfix kapcsán nem javul ki a hibás kódformázás, abból könnyen újabb hibajegyek esnek be, amelyek tudábbi hibajegyeket generálnak... a review-nál is oda kell eljutni, hogy automatikus eszközök végezzék a review nagy részét, és ne egy drága senior ideje menjen arra, hogy kitegye a szükséges megjegyzéseket, zárójeleket és szóközöket, hogy olvasható(bb) legyen a kód, mert ezzel több idő jut a valódi review-ra, szóval ha valakinek review kapcsán szólnia kell, hogy nem megfelelő a kódformázás, az már régen rossz...
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
Hát az tény h eléggé le vagyunk maradva az automatizálással, de ennyire azért ne áss el.
A kódformázás megváltoztatásával kapcsolatban nekem elég szar tapasztalataim vannak. Merge-nél állati nagy galibákat okozott. Meg nem is arról beszéltem, hogy van egy konvenció, és attól eltér mindenki egy kicsit, hanem h ilyen esetekben rugalmas a konvenció.
- A hozzászóláshoz be kell jelentkezni
Igen, mi is szívtunk már hasonlóval mergenél, viszont azért legtöbb projektben van olyan pont, amikor úgy végezhető el változása forráskódon, hogy nincs olyan másik ág, ami be lesz oda merge-ölve. Addig pedig az új kódokat lehet szépen automatikusan formázni...
- A hozzászóláshoz be kell jelentkezni
Engem inkább az zavar ebben az egészben, hogy pár ember képes ennyire fennakadni a kisebb formai eltéréseken, akár support/bugfix, akár review a szempont.
csúnyává teszi a diff-et.
http://hup.hu/szavazasok/20120404/ciklus_es_felteteles_blokkokon_belul_…
Értsd jól: Hozzáadsz egy plusz sort és a diff-ben már nem csak a plusz sor fog látszódni, hanem feleslegesen a blokk nyitó-záró jelek is. És igen, egy nagyobb review-nél ez okozhat gondot.
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
Nagyobb review esetében ha ilyenekkel pöcsöl a jómunkásember, akkor bele se kezdjen.
- A hozzászóláshoz be kell jelentkezni
Hát igen. Vegyük azt, hogy az utasítások valóban egyszerűek. Hogy ezt is egy példával szemléltessem (tegyük fel, hogy valamiért nem használunk feltételes kifejezést) Kinek melyik az átláthatóbb forma:
if (kifejezes) utasitas1;
else utasitas2;
vagy:
if (kifejezes) { utasitas1; }
else { utasitas2; }
esetleg:
if (kifejezes) {
utasitas1;
} else {
utasitas2;
}
- A hozzászóláshoz be kell jelentkezni
Nálam ez úgy működik, hogy beírom:
if (3==2) System.out.println("");
else System.out.println("");
Nyomok egy Ctrl-Alt-F kombinációt, és lőn:
if (3 == 2)
{
System.out.println("");
} else
{
System.out.println("");
}
Gyakorlatilag semmibe nem kerül.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
Sajnos ezeket a lehetőségeket méltatlanul hanyagolják. A legnagyobb probléma ezzel az, hogy ha esetenként valakinek eszébe is jut, akkor eszméletlen problémákat okoz a VCS-ben.
- A hozzászóláshoz be kell jelentkezni
Ha nem tudnak megegyezni egyféle kódformázásban, akkor jön a commit hook-ba a reformat.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
Ötletnek nem rossz, de nem is annyira jó. Így a fejlesztő a saját kódjára sem ismer rá egy összetettebb esetben...
Mindegy, kezd egy kicsit teoretikus lenni a dolog. Pusztán arra akartam kilyukadni, hogy ha egy kódnál az a legnagyobb probléma, hogy az egysoros elágazások hogyan vannak formázva, akkor az egy álomprojekt :)
- A hozzászóláshoz be kell jelentkezni
Hát, nálunk save actionre van rárakva a kódformázás, szóval nem tudod rossz formázással még elmenteni se a kódot...
- A hozzászóláshoz be kell jelentkezni
Nálunk is így van.
- A hozzászóláshoz be kell jelentkezni
Hát, ha amúgy is követed a formai szabályokat, akkor nem érhet nagy meglepetés :)
- A hozzászóláshoz be kell jelentkezni
rovid utasitas eseten 2., hosszu utasitas eseten 3.
- A hozzászóláshoz be kell jelentkezni
Nekem ez a harmadik jön be.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Jobb ha az ember valamilyen jól definiált szabály (coding style) alapján kódol és nem saját szubjektív ítélete alapján.
Majdnem +1. Nem minden esetben jobb, de manapság már nem szabad kikerülni valamilyen coding style, vagy standard használatát.
- A hozzászóláshoz be kell jelentkezni
mármint indent
- A hozzászóláshoz be kell jelentkezni
Ezzel most megkérdőjelezted az identitásomat!
:) Természetesen indent. Köszi.
- A hozzászóláshoz be kell jelentkezni
Na az ilyen esetekben kell nagyonis kirakni a {} -t a kinti if-hez.
----------------
Lvl86 Troll - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
python :-)
- A hozzászóláshoz be kell jelentkezni
Forth
Nyertem? :)
- A hozzászóláshoz be kell jelentkezni
+1 :) ja már vártam ki fogja bedobni
- A hozzászóláshoz be kell jelentkezni
Nekem kettő is igaz.
Mindig kirakom (későbbi bővíthetőség nevében)
ÉS
Nem tudok programozni
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
Mindig kiteszem, de feltételes blokk helyett gyakran használok ternary operatort, amennyiben az az olvashatóságot nem rontja/javítja.
int getRandomNumber() { return 4; } // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű. xkcd
- A hozzászóláshoz be kell jelentkezni
ternary-t akkor es csak akkor hasznalok, ha az if es az else ag is egy-egy rovid utasitas, es nincs bennuk tovabbi elagazas
- A hozzászóláshoz be kell jelentkezni
Szeretem az IDE autoformázásokat (NetBeans-t használok), így ő mindig kiteszi helyettem. Egyébként is ki szoktam tenni, de fájl mentés előtt mindig kódformázok :)
- A hozzászóláshoz be kell jelentkezni
A másodikra szavaztam (én C,Cpp-re gondoltam elsősorban), de nem csak ennek függvénye. PL ha egy ciklusnak még nem tudom a pontos megoldását akkor kirakom, mert ha nem csak egy sor, akkor bármi lenet, és jobb ha megvan hogy mi tartozik a magba.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Mindig kiteszem a zarojelet es masokat is erre buzditok. Eleg volt parszor beleszaladni abba az (amator) hibaba, hogy tobb emberes munkaknal valaki kiboviti az adott feltetelhez/ciklushoz tartozo blokkot, de a zarojelet mar elfelejti, majd csodalkozunk a program erdekes mukodesen. Ha ott a zarojel, kevesebb a hibalehetoseg.
Tovabba azt gondolom, hogy azokban a fuggvenyekben/metodusokban/muveletekben, amiknek az olvashatosagat ket zarojel jelentosen lerontja, ott ennel sulyosabb problemak is vannak. Azon az allasponton vagyok, hogy a kod legyen konzisztens.
- Not even the slightest bit -
- A hozzászóláshoz be kell jelentkezni
"valaki kiboviti az adott feltetelhez/ciklushoz tartozo blokkot, de a zarojelet mar elfelejti"
Talán a zárójellel kéne kezdeni a kibővítést.
- A hozzászóláshoz be kell jelentkezni
NEM. A ciklus/feltétel megírását kell úgy kezdeni, hogy ott a határoló.
- A hozzászóláshoz be kell jelentkezni
Nálatok ;P
Amíg a nyelv lehetőséget ad rá, nem "kell". Ez egy annyira autista-egyemistadroid kényszercselekvés, már elnézést, akinek nem inge, és az a sajnálatos h a kódolási konvenciókat is sokszor ilyen kényszeres merevséggel definiálják.
- A hozzászóláshoz be kell jelentkezni
Amelyik nyelvben lehet egy sorba írni a kódot, ott gondolom, sortörést sem használsz, mert minek...
- A hozzászóláshoz be kell jelentkezni
Nézd, én az olvashatóságot tekintem elsődlegesnek a formázásnál is. Volt egy ismerősöm, aki iszonyat olvashatatlanul írt kézzel, így anno fősulin, egyetemen a jegyzetei használhatatlanok voltak, de később dolgozni sem volt vele egyszerű. De amikor megláttuk, hogy a kezéből kiadott kód is ugyanolyan eszetlen ronda, akkor kínunkban már csak röhögtünk, pedig zárójelezett a szerencsétlenje szorgosan.
Arra akarok ezzel kilyukadni, hogy nem a zárójelen és a sortörésen múlik az olvashatóság, és ezzel együtt a review/support minősége.
- A hozzászóláshoz be kell jelentkezni
Amit én láttam, illetve írtam kódolási előírást, abban benne volt, úgyhogy ott, ahol ezeket használták/ják, ott a code review-n nem menne át a {} nélküli forma.
- A hozzászóláshoz be kell jelentkezni
Szerintem is az olvashatóság az elsődleges.
Nekem pl. az ilyen:
if(valami) {
nosza;
}
sokkal kevésbé olvasható, mint a következő:
if(valami)
{
nosza;
}
Valahogy jobban érzem magam, ha a határolók egymás alatt vannak.
- A hozzászóláshoz be kell jelentkezni
Nekem meg éppen hogy nem. Az if amúgy is kijelöli a blokk elejét, a lezáró kapocs pedig a végét. Indentálással teljesen jól látszik, de még anélkül is szerintem jobban mint ha a kezdő kapcsos zárójel a sor elején állna. Úgy kicsit olyan, mintha az if egy magában álló utasítás lenne, és utána jönne egy blokk, amelyik nem tartozik hozzá.
De elismerem, ez leginkább csak szokás kérdése. Ahány ember annyi féle. Neked így tetszik, nekem úgy.
- A hozzászóláshoz be kell jelentkezni
+1 Szerintem kifejezetten zavaró a külön sorba tett {.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Nyilvanvalo trollbait, a hozzaszolasaid alapjan azt hiszem te sem gondolod ezt (kenyszercselekves) komolyan.
- Not even the slightest bit -
- A hozzászóláshoz be kell jelentkezni
Van benne egy kis érzelmi alapú túlzás, de okkal írtam.
- A hozzászóláshoz be kell jelentkezni
Talan nem masra kene haritani a par karakter beirasat. Az amit irtal, mar kevesbe szakmai jellegu, inkabb tukroz egy olyan hozzaallast, hogy "en megirtam zsirul, aki meg nem tudja kezelni, az pusztuljon". Aztan meg tevedhetek is.
- Not even the slightest bit -
- A hozzászóláshoz be kell jelentkezni
Amig nem muszaj nem szoktam kirakni a zarojeleket, nem emlekszem olyan esetre hogy ebbol problema lett volna. Hozza kell szokni, hogy a plusz utasitas irasakor nem vaddiszno modjara nekiugrunk a begepelesnek, hanem eloszor kitesszuk a zarojeleket. Normalis indentalasnal meg egyenkent is rogton szurna a szememet, hogy valami nincs rendjen.
Jobban utalom az olyan kodokat ami az elso kategoriaba esik es szinte olvashatatlanna/atlathatatlanna* teszi a kodot, igy inkabb kockaztatok.
*A kod nem kitalacio es nem en irtam(csak modositottam rajta annyira, hogy a keszitoje talan nem ismer magara, de egyebkent az eredetiben is egysoros kifejezesek vannak). :)
- A hozzászóláshoz be kell jelentkezni
Igazából ezt a plusz sorok-, utasítások hozzá/beleírását nem is tudom értelmezni. Van egyáltalán olyan, aki úgy folytat egy kódot, hogy "na most beírok mondjuk a 115. sorba egy új utasítást, leszarom, hogy mi van körülötte"?
Akinek nem tűnik fel, hogy ahová ír, az már nem egy blokk része, az menjen inkább malacokat őrizni (vagy szülni :))
- A hozzászóláshoz be kell jelentkezni
switch ( type ) {
case TYPE_1: {
DoSomething();
break;
}
default: {
DoSomethingDefault();
break;
}
}
Ne káromkodj! ;)
- A hozzászóláshoz be kell jelentkezni
?
- A hozzászóláshoz be kell jelentkezni
Konvenctiotol fugg nalam, a konvencio pedig a nyelvtol.
Azert orok szabaly szamomra, hogy ha az egyik agnal kiteszem, akkor mindenkeppen a tobbinel is.
- A hozzászóláshoz be kell jelentkezni
A fenti hozzászólások alapján sokat segítene az eredmény értelmezésén, ha azt is lehetne tudni, hogy a válaszadó
- mennyi 1 személyes
- mennyi 1-3 személyes
- mennyi 3+ résztvevős
projektben vett részt.
- A hozzászóláshoz be kell jelentkezni
Akkor most johet a szavazas a {} elotti/utani sortoresrol :)
- A hozzászóláshoz be kell jelentkezni
:D
Részemről Allman style. :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home
- A hozzászóláshoz be kell jelentkezni
Tudom ajánlani a Code Complete című könyv (http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/073561967…) egyik fejezetét, Software Craftmanship - Layout and Style a címe, pont erről szól.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
"...csak akkor teszem ki a { } -eket, ha zavarja a hiánya az olvashatóságot"
Alapvetően ezt követem. Ha rövid a dolog, pl. if(verbose) vprint(...); akkor ott rontja az olvashatóságot a {}, azonban ha túl hosszú a sor és ketté kéne szednem, akkor mindenképpen kirakom a {}-t. Ugyanez a helyzet akkor is ha az if ágon belűlre tartozik egy komment. Inkább kirakom a {}-t és abba írom a kommentet is, így aki arra a részre nem kíváncsi, az ki tudja hagyni. Nem szokott gondom lenni a programjaim megértésével. :)
- A hozzászóláshoz be kell jelentkezni
mindig kiteszem a {}-et, mindazonaltal az iparban eltoltott n+1 ev C programozas es masok altal irt kodok debuggolasa soran nem emlekszem hogy akar egyszer is elojott volna mint bug (ahol ures a ciklus mag pedig eredetileg a kovetkezo utasiasnak a ciklusmagnak kene lenni). Viszont ha ures ciklust akarok, vagy direkt kihagyom a break-et egy switch-bol odabigyesztek egy kommentet hogy igen, ezt akartam. vhogy igy:
for(i = 0; i < 2; i++) ; /* ; intended */
/* don't break in this switch */
switch (n)
{
case 2: n++;
case 1: n++;
}
Lint operal hasonlo kommentekkel btw
- A hozzászóláshoz be kell jelentkezni
eddig abban a hitben eltem, az igazi programolók a prog.hu -n tombolnak.
- A hozzászóláshoz be kell jelentkezni
:DDDD
- A hozzászóláshoz be kell jelentkezni
Sajnos az ilyen szavazasok a nepszeruek: zero tartalom, de mindenkinek van rola velemenye/vallasa, mikozben az igazi alapproblemat senki meg sem latja a kerdesben. Dehat hadd porogjon a szamlalo. :(
- A hozzászóláshoz be kell jelentkezni
Még az ilyen apró "programnál" is mindig kiteszem. :-D
:(){ :|:& };:
- A hozzászóláshoz be kell jelentkezni
Erre mondják, hogy mindenki azzal dicsekszik, amije van :)
- A hozzászóláshoz be kell jelentkezni
Miért jó felüldefiniálni egy beépített parancsot? Mert a fork bomb nem érv.
- A hozzászóláshoz be kell jelentkezni