Cóż, oto przynęta negatywna. Nigdy nie byłem oskarżany o robienie popularnych rzeczy. Oczywiście, jeśli rzeczy pasują do jednej linii, to dobrze, dopasuj je do jednej linii.
Ale moim głównym zmartwieniem nie jest to, czy kod jest „brzydki” czy „ładny”. Moim głównym zmartwieniem jest to, jak łatwo jest zrozumieć i wprowadzać zmiany bez popełniania błędów.
Jeśli argumenty są długie i jest ich dużo, dlaczego nie umieścić ich w osobnych wierszach? Moim zdaniem dzięki temu łatwiej jest zobaczyć, jakie są, i w razie potrzeby łatwiej je zmienić. Daje mi również miejsce na dołączenie komentarza do każdego argumentu, jeśli chcę.
Chcę również zminimalizować ryzyko popełnienia błędu, jeśli dodam lub usunę argument do funkcji, co jest bardziej prawdopodobne na końcu listy argumentów niż na początku. Z tego powodu wolę umieszczać przecinek (,) na początku wiersza, niż na końcu. Następnie, jeśli na przykład chcę usunąć lub dodać argument na końcu listy, jest to edycja jednowierszowa. Nie muszę majstrować przy przecinku, który musi znajdować się na końcu wszystkich wierszy, ale ostatni, gdzie ostatni musi kończyć się nawiasami.
Więc (chłopcze, zostanę za to podpalony) Piszę tak:
nameOfFunction(firstArgument
, secondArgument // optional comment
...
, lastArgument // optional comment
);
Kiedy jest funkcja zawierająca od pięciu do dwudziestu argumentów, funkcja nie otrzymała tego od razu. Rozrastało się z czasem, co oznaczało, że wprowadzono wiele zmian. Każda niezakończona edycja jest błędem składniowym lub błędem. Więc nie twierdzę, że to ładne. Twierdzę, że pomaga to w poprawnym wprowadzeniu zmian.
(A dla tych, którzy twierdzą, że powinienem przekazać strukturę, wystarczy usunąć problem, ponieważ potrzebujesz kilku wierszy kodu do wypełnienia struktury, nie wspominając o dodatkowym kodzie, aby go zadeklarować i przydzielić.)