Zastrzeżenie : Nie tak przesadzone, jak sugeruje tytuł, ale wciąż sprawia mi to dyskomfort. Zamierzam wyrazić szczerze, więc weź to z odrobiną soli. Udawaj, że mówię o tym standardzie kodowania, z którym nie lubisz pracować.
Edycja : Fakt, że mi się nie podoba, nie oznacza, że go nie używam ani nie egzekwuję.
Postanowiłem zadać to pytanie w duchu, jak przekroczyć standard, który ci się nie podoba, aby nie uzyskać pomocy, jak lepiej argumentować, jak można go zmienić (chociaż docenia się wszelkie komentarze dotyczące tej ostatniej części). Poza tym pracuję w dużej firmie i taka zmiana czegoś, co żyło tak długo i że tak mało się liczy, jest mało prawdopodobna.
Standard to standard otwierający nawiasy klamrowe na linii dedykowanej:
somefunction()
{
//...
}
Zamiast * wyraźnie lepszego * (zauważ żart / frustrację):
somefunction() {
//...
}
Moje osobiste argumenty przeciwko standardowi:
- Nadyma kod : dodatkowe niepotrzebne linie
- Trudniej pisać : chociaż prawdopodobnie to tylko ja walczę ze standardem, wiem, że jedno dodatkowe naciśnięcie klawisza nie jest takie złe.
- Niełatwiej czytać : zaczynam czytać deklarację funkcji, instrukcję if lub dowolną inną instrukcję stosu zakresu i już nie muszę szukać nawiasu otwierającego. Zagnieżdżone bloki z tym standardem po prostu denerwują mnie z jakiegoś powodu.
- Używane przez osoby wywodzące się z Microsoft IDE : myślę, że za standardem powinna być uzasadniona (lub więcej) argumentacja, a nie tylko przyjęcie paradygmatu.
Ich argumenty (i mój sposób wewnętrznej retorty):
- Łatwiejszy do odczytania, ponieważ od razu widać, gdzie zaczynają się i kończą bloki : nie rozumiem tego, jaki jest pożytek z bloku, jeśli nie wiesz, do czego należy, więc musisz czytać wstecz.
- Użyłem go w Microsoft IDE i podobało mi się : Uhh ... ok?
- Jest w standardzie : * cringes *
Czy jestem jedyną osobą, która zmaga się z upartym stanowiskiem wobec określonego standardu? Jak sobie z tym poradziłeś? Jakie jest Twoje zdanie na temat tego, jaki powinien być ten konkretny standard (dla zabawy)?
Used by people who come from a Microsoft IDE background
To nie jest sprawa Microsoftu, np. Jądro Linux i K&R używają tego samego stylu.