Jak formatujecie takie kobyły? Zend db query

0

Trochę mnie wkurza fakt, że u mnie każdy się trzyma konwencji zapisywanie zapytań na takie zasadzie:

$select->joinLeft(array('co2'=>'country'), 'co2.country_id = c.shipping_country', array( KILOMETROWY ARRAY oczywiście w jednej linii);

Ja staram się to robić tak, bo dla mnie jest czytelniej:

->joinLeft(array('cr' => 'contact'),
    'c.reports_to = cr.contact_id',
    array('reportsToId' 	  => 'reports_to as reportsToId',
		'reportsToFirstName'  => 'cr.first_name',
        'reportsToMiddleName' => 'cr.middle_name',
        'reportsToLastName'   => 'cr.last_name as '))

A jak wy byście to rozwiązali?

0

Nie po to trzeba na końcu wyrażenia pisać średnik, żeby unikać stosowania Enterów ;)
Z ciekawości: u ciebie - znaczy w pracy? Może powinieneś spróbować przeforsować pisanie czytelnego kodu?

0

Tak u mnie w pracy. Raczej mam marne szanse, bo jak przyszedłem tutaj to nie umiałem nic i dopiero teraz jak sie podciągnąłem to zaczynam zauważać pewne rzeczy, ale mój autorytet pewnie dalej jest na poziomie młodego, który grzebie w HTML CSS :P

0

Ogółem rozbijanie linii (uzasadnione względami logicznymi, czyli np. kolejne argumenty w odrębnych liniach, lub elementy argumentu-tablicy, dodatkowo wcięte) jest bardzo dobrym rozwiązaniem. Dobrą praktyką jest ustalenie sobie prawego marginesu w edytorze (np. 80/100/120 znaków) i pilnowanie szerokości linii. Szybciej i wygodniej czyta się większą ilość krótszych linii niż takie długie monstra. Można co prawda w prawie każdym IDE włączyć zawijanie wierszy, ale wtedy i tak ciężko się połapać co jest gdzie, gdy edytor sam sobie rozbija taką linię. :)

Natomiast gdy czasem widzę takie tasiemce naklepane z zasadą "jak będzie średnik to dam enter" to mam wrażenie, że rozbijanie linii powinno być tak samo wbijane do głowy wszystkim jak wcięcia bloków.

1
->joinLeft(
	array('cr' => 'contact'),
	'c.reports_to = cr.contact_id',
	array(
		'reportsToId' => 'reports_to as reportsToId',
		'reportsToFirstName'  => 'cr.first_name',
		'reportsToMiddleName' => 'cr.middle_name',
		'reportsToLastName' => 'cr.last_name as '
	)
)

Generalnie jeśli kod wewnątrz nawiasów zawiera więcej niż jedną operację, to łamię go tak samo, jakby zwykłe nawiasy były klamrami ({}), a dane kodem.

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