LINUX.ORG.RU

История изменений

Исправление Aber, (текущая версия) :

все они без self выглядели менее логичными и менее понятными. Предложите свой пример!

Я уже сказал

уже нельзя выкинуть вездесущий self потому как это потребует пересмотреть синтаксис язяка.

Обязательное self не более чем синтаксический шум от которого уже не избавиться. Рассмотрим синтаксический шум на примере Java, вы привели такой код:

Map<String,String> m = new HashMap<String,String>();
Оправдано раскритиковали, тут дважды декларируется параметризация, хотя видно что компилятору не составит труда вывести тип. В 2014 году вышла Java 8 которая позволила писать короче:
Map<String,String> m = new HashMap<>();
Дизайн языка позволил внести это улучшение и убрать этот ненужный синтаксический шум. А вот обязательный self из python просто так не убрать.

Говнокод это код без структуры, без единых правил оформления, это неправильное именование, это сильно связанные компоненты системы которые невозможно протестировать независимо друг от друга, а не многословность. Пример:

Вот это говногод:

m = {}

а это уже нет:

ownerToPet = Dict[str, str]
Имя подсказывает, что должна содержать коллекция, type hints указывает на принимаемые типы. Многословность убрала неоднозначности и сделал код более очевидным, не нужно смотреть всю логику чтоб понять чем будет заполнена эта коллекция. Надеюсь этот пример ясно показывает, что краткость != хороший код.

Исправление Aber, :

все они без self выглядели менее логичными и менее понятными. Предложите свой пример!

Я уже сказал

уже нельзя выкинуть вездесущий self потому как это потребует пересмотреть синтаксис язяка.

Обязательное self не более чем синтаксический шум от которого уже не избавится. Рассмотрим синтаксический шум на примере Java, вы привели такой код:

Map<String,String> m = new HashMap<String,String>();
Оправдано раскритиковали, тут дважды декларируется параметризация, хотя видно что компилятору не составит труда вывести тип. В 2014 году вышла Java 8 которая позволила писать короче:
Map<String,String> m = new HashMap<>();
Дизайн языка позволил внести это улучшение и убрать этот ненужный синтаксический шум. А вот обязательный self из python просто так не убрать.

Говнокод это код без структуры, без единых правил оформления, это неправильное именование, это сильно связанные компоненты системы которые невозможно протестировать независимо друг от друга, а не многословность. Пример:

Вот это говногод:

m = {}

а это уже нет:

ownerToPet = Dict[str, str]
Имя подсказывает, что должна содержать коллекция, type hints указывает на принимаемые типы. Многословность убрала неоднозначности и сделал код более очевидным, не нужно смотреть всю логику чтоб понять чем будет заполнена эта коллекция. Надеюсь этот пример ясно показывает, что краткость != хороший код.

Исходная версия Aber, :

все они без self выглядели менее логичными и менее понятными. Предложите свой пример!

Я уже сказал

уже нельзя выкинуть вездесущий self потому как это потребует пересмотреть синтаксис язяка.

Обязательное self не более чем синтаксический шум от которого уже не избавится. Рассмотрим синтаксический шум на примере Java, вы привели такой код:

Map<String,String> m = new HashMap<String,String>();
Оправдано раскритиковали, тут дважды декларируется параметризация, хотя видно что компилятору не составит труда вывести тип. В 2014 году вышла Java 8 которая позволила не писать параметризацию дважды:
Map<String,String> m = new HashMap<>();
Дизайн языка позволил внести это улучшение и убрать этот ненужный синтаксический шум. А вот обязательный self из python просто так не убрать.

Говнокод это код без структуры, без единых правил оформления, это неправильное именование, это сильно связанные компоненты системы которые невозможно протестировать независимо друг от друга, а не многословность. Пример:

Вот это говногод:

m = {}

а это уже нет:

ownerToPet = Dict[str, str]
Имя подсказывает, что должна содержать коллекция, type hints указывает на принимаемые типы. Многословность убрала неоднозначности и сделал код более очевидным, не нужно смотреть всю логику чтоб понять чем будет заполнена эта коллекция. Надеюсь этот пример ясно показывает, что краткость != хороший код.