Ну раз уж идёт про кодстайл.
Очень люблю когда в языках определить неизменяемую переменную столько же слов или меньше чем обычную. Например в современном яваскрипте есть const
а есть let
. А в расте вроде по дефолту указатели неизменяемые пока не добавишь слово mut
.
Я к чему вообще? У меня в голове любая переменная на любом уровне по дефолту неизменяемая. А если изменяемая - докажи. Если она изменяется постоянное число раз, так может это на самом деле несколько переменных? Кстати переменные цикла я очень хотел бы тоже объявлять неизменяемыми в теле цикла. Проблема, что в java все эти final
-ы на локальных параметрах и переменных всех бесят и занимают много места. А как бы я в с++ бы страдал, боюсь представить. То есть у меня были времена максимализма когда я в любом пулл реквесте добавлял финалы на всё в паре классов, но сейчас я всё же пришёл к идее, что это больше идея про дисциплину, а не про синтаксис. Но круто когда язык поддерживает правильные идеи, так что см. пункт первый.
Comments (6)
Вот тут совершенно согласен. А с переменными цикла в JS так: если это выборка из коллекции, то
const
, а если счётчик, то обязательноlet
. И понятно, почему, но раздражает.да, я не стал точно говорить, потому что не помню где как. я не помню в яве переменную из фора с дветочием нельзя зафайналить?
Вроде, нельзя.
таки можно
Делаем из JS Python 😉