Jump to content
php.lv forumi

Kā tu programmē?


EdgarsK

Recommended Posts

par otro, ja iekš if ir jāizpilda tika viena darbība (šinī gadījumā cikls), tad sintakse pieļauj rakstību bez figūriekavām.

Kas tur briesmīgs?

 

Nu tas ir ļoti slikts stils :) Es ar tā kādreiz domāju. Kad biju pa-praksējies nopietnā uzņēmumā, uzskati par koda stilu apgriezās pa visiem 180, un tagad kad nākas labot vecu kodu, gribētos teleportēties pagātnē un iepļaukāt sevi un pateikt, ka tā nevajag rakstīt :)

Link to comment
Share on other sites

  • Replies 48
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

man ir ļoti ērti rakstīt

if ($bTest) doSomething();

jo tā ir mazāk jāraksta. un lasās tikpat viegli, jo ir lineāra loģika (secīga darbību izpilde bez sazarojumiem)

 

katrā ziņā tas ir ātrāk un vnkāršāk nekā

if ($bTest) {
   doSomething();
}

ja ir arī else, tad

if ($bTest) doSomething();
else doSomethingElse();

ok, ja ir multi statementi, tad gan izmanto block {}

if ($bTest) {
   doSomething1();
   doSomething2();
}
else {
   doSomethingElse1();
   doSomethingElse2();
}

bet kamēr ir 1x statement, tikmēr arī ir 1x line

 

tas, protams, my humble opinion...

 

P.S.

es pretēji briedim, kādreiz rakstīju ļoti gari (tipa tā, kā ir pareizāk), bet ar laiku nāca atklāsme, ka tas galīgi nav vajadzīgs. un tad pagriezos pa 180 grādiem (bet pretēji nekā briedis :D). kr4 domāju par risinājumiem, kā var vienlaicīgi saglabāt lasāmību un samazināt rakstāmā koda apjomu...

 

programmētāji mēdz uztvert kodu ļoti šabloniski un dažkārt pierod pie ne tiem vnkāršākajiem risinājumiem ;)

 

EDIT: manuprāt, šis topiks nebūtu jāliek netēmā. drīzāk "php vispārīgi"

Edited by 2easy
Link to comment
Share on other sites

Bez tam neredzu jēgu mācīties kaut kādus Zend ievietus standartus koda rakstībā, ja vispār Zend neizmanto un ar to neesi saistīts. Katrs kantoris tā var noteikt savu koda rakstības stilu un visiem nekad neizpatiksi.

Man esošais ir saglabājies no laika, kad vienā kantorī strādāju ar php/db koderi un kuram arī bija savas vadlīnijas koda rakstībā. Tā ka nepiekritīšu ka kaut kāds Zend ir pasaules stila noteicējs un ja raksti nedaudz savādāk tavs kods ir pilnīga briesma.

 

 

btw no Kakls tā arī neesam neko redzējuši. Skaisti dir** nav malku cirst, čalīt.

Edited by ohmygod
Link to comment
Share on other sites

Kamēr tu kodē viens pats, tikmēr raksti kaut vai visu kodu vienā rindā un lauz kaklu kaut vai 3x dienā kāpjot uz paša izliktajiem grābekļiem. Ja tu strādā komandā, tad automātiski ieslēdzas jautājums par normālu komandas darbu un koda noformēšanas standartiem. Domāju, ka visās puslīdz nopietnās organizācijās/projektos, kur ir vairāk kā viens programmētājs šādas vienošanās/vadlīnijas ir nepieciešamas. Zend ir viens no variantiem, kuru izvēlēties. Nepatīk Zend, uzraksti kaut vai savas vadlīnijas.

 

Tas, ka "tiek samazināts rakstāmā apjoms" ir pilnīgas muļķības. Nelietojot figūriekavas un korektas atkāpes tu zaudē neskaitāmas reizes vairāk uz koda lasīšanu un labošanu vēlāk.

 

P.S. attach priekš ohmygod :)

post-17-126468973086_thumb.png

Link to comment
Share on other sites

Tas, ka "tiek samazināts rakstāmā apjoms" ir pilnīgas muļķības. Nelietojot figūriekavas un korektas atkāpes tu zaudē neskaitāmas reizes vairāk uz koda lasīšanu un labošanu vēlāk.

programmētāji mēdz uztvert kodu ļoti šabloniski un dažkārt pierod pie ne tiem vnkāršākajiem risinājumiem ;)

šo es saku par figūriekavām

savukārt piekrītu tev, ka "korektas atkāpes" jeb indentation ir must have, jo palīdz uztvert loģiskos blokus. tāpat arī piekrītu par komandas darbu un vadlīnijām, taču tur jau tā lieta, ka katram saprotamāk/lasāmāk/ērtāk nozīmē kko citu. kr4 tās ir nianses. katrs pierod pie kkā sava...

 

 

P.S. attach priekš ohmygod :)

viss tas kods droši vien ir vajadzīgs, lai izdarītu kādu vnkāršu lietu, piemēram echo $layout;

Edited by 2easy
Link to comment
Share on other sites

attiecībā uz to "fail", ko Kaklz teica par ohmygod kodu, tur es viņam piekrītu. figūriekavas (kad tās ir nepieciešamas) lieto attiecīgajā līmenī, kur ir šis bloks. tā, kā tur bija samixēts, tas nebija labi :P

 

es to fragmentu rakstītu šādi (noskanēju source no tās bildes ar vienu OCR softu)

$this->errors = session_errors_get();
if ($this->errors)
foreach ($this->errors as $field => $msg) {
	$this->elements[$field]->attributes["class"] = "field_error";
	$this->errorMsg .= $msg . "<br />";
}

vnk pēdējās 3x rindiņas vajadzēja pacelt par vienu tab augstāk ;)

 

tikai nesakiet, ka ir baigi grūti izlasīt un saprast tikai tāpēc, ka vienīgais statement iekš if (foreach cikls) nav ielikts figūriekavās. tad jau tie, kas kodē pythonā, arī neko nesaprastu (tur vsp block logic bāzējas uz indent, nevis figūriekavām!!!). kr4 tas ir 4ista pieradums rakstīt figuriekavas tur, kur tās nav nepieciešamas ^^

Link to comment
Share on other sites

Kā ar sofitem, kas ar vienu vēzienu sakārtotu kodu kāda vien stilā vēlies?

 

Nesen mēģināju nozagt PHP Developer 2008, bet neizdevās, dabūju tikai trial versiju. Tur bija fīča kārtot kodu automātiski :) Bet sīkāk neizpētīju. (Torrentos tas PHPD ar vīrusiem... vai arī kaut kādi jocīgi crack'i. Pēc pirmā av kliedziena, atkārtoti mēģināt negribējās.)

Link to comment
Share on other sites

Kā ar sofitem, kas ar vienu vēzienu sakārtotu kodu kāda vien stilā vēlies?

tas varētu būt labs risinājums, kad dažādos stilos kodējoši koderi skatās viens otra kodu. nav svarīgi kā otrs raksta, jo katrs skatās savā stilā! :)) tāpat arī pārāk garus/īsus function/variable names varētu replace uz pieņemamākiem/pierastākiem. vsp nosaukumiem tāpat ir dafiga stili, piemēram, funkcija, kas izveido db savienojumu varētu saukties dbconn() dbConn() db_conn() connectDb() ...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...