Istnieje wspólny argument na temat inicjalizacji wielu zmiennych w jednym wkładce, to znaczy:
Rozważmy na przykład int i, j = 1; co może doprowadzić niektórych ludzi do błędnego przekonania, że obie zmienne są inicjalizowane
Możemy argumentować, że ktoś powinien znać składnię swojego języka na tyle, żeby się nie mylić. Kolejnym argumentem może być to, że programiści uczą się tak wielu języków, że możemy popełniać błędy między specyfikami między językami.
Jednak w tym konkretnym przypadku zastanawiam się, czy istnieje nawet język, w którym sama składnia i, j = 1 inicjuje obie zmienne?
Jeśli nie, ten argument nie ma zastosowania.
Dim Apple, Orange, Pear as Fruit
jest deklaracja prawna. Załóżmy, że nie znasz VB. Czy twoje pierwsze wrażenie Apple
jest tego rodzaju Fruit
? Nie jest. Pamiętaj, że języki często czytają ludzie, którzy nie są ekspertami w tym języku; jeśli jesteś ekspertem, mądrze posługuj się językiem, aby jasno przekazać swoje zamiary nawet osobom niebędącym ekspertami. Nigdy nie używam wielu inicjalizacji w żadnym języku.
var x = 1, y = 1.5;
Czy to jest to samo, int x = 1; double y = 1.5;
czy to to samo, co double x = 1, y = 1.5;
? Kiedy dodaliśmy var
do C # 3.0, zrobiłem ankietę i odkryłem, że około połowa ludzi uważa, że pierwsza jest „oczywiście” poprawna, a druga połowa uważa, że druga jest „oczywiście” poprawna, dlatego też zrobiliśmy to nielegalnym. Funkcja, która wprowadza w błąd połowę populacji, jest złą cechą.