2011-09-17 7 views

Odpowiedz

1

Trzeba by skanować źródła, aby znaleźć „najczęściej”.

próbuję napisać, co ma sens, biorąc pod uwagę okoliczności, ale prawie zawsze użyć albo:

func_a func_b(arg) 
func_a(func_b(arg)) 

Jeśli funkcje nazywane są rzeczy, które „brzmi jak” zdanie lub frazę, następnie Wpadnę tyle ile mogę.

func_a func_b arg 

Innymi słowy, jeśli brzmi jak coś, co powiedziałbym na głos, napiszę to tak, jak bym to powiedział - zdanie lub frazę.

Jeśli to nie brzmi jak coś, co powiedziałbym w prawdziwym życiu, potrzebuje parens, aby poprawić wyrazistość, itp. Wtedy napiszę to tak, jakbym pisał kod, ponieważ brzmi/wygląda jak kod.

2

Nie mogę dać Ci najczęstszy sposób, ale moja osobista opinia.

Odrzucałbym wersję pierwszą func_a func_b input. To zbyt mylące, nie widzisz, czy input jest parametrem func_b, czy jest to drugi parametr func_a.

Preferuję wersję czwartą, pokazuje wyraźnie, jaki jest parametr dla czego (i widzisz, co to jest nazwa metody i jaka jest zmienna). Ale chciałbym dodać spacje przed i po nawiasie:

func_a(func_b(input)) 

lub

func_a(func_b(input)) 
+4

Ew; Nigdy nie rozumiałem spacji po otwarciu/przed zamknięciem parens. –

+0

Zgadzam się, że 'func_a func_b input' jest mylące, ale technicznie nie jest właściwie niejednoznaczne. Ponieważ Ruby nie ma curry'ego, 'input' nie jest z pewnością drugim parametrem' func_a' (które byłoby "func_a func_b, input"). Jednak fakt, że całe rozumienie linii zależy od obecności/braku malutkiej postaci (przecinka), wydaje się, że jest to zła praktyka. – rubergly

+0

@Dave Nie próbuj uczyć się ABAP, tam wymagane są spacje. W moim przypadku: po kilku latach z ABAP, jestem do tego przyzwyczajony i kiedy czytam kod, mój mózg może łatwiej analizować kod za pomocą spacji. Myślę, że to dla mnie potwierdzony nawyk. – knut

Powiązane problemy