Если бы я вызвал car.speed (), я мог бы подумать, что я говорю машине о скорости, другими словами, чтобы увеличить скорость и преодолеть ограничение скорости. Это явно не добытчик.
Некоторые языки позволяют вам объявлять const-объекты, а затем ограничивать вас только вызовом функций, которые не изменяют данные объекта. Поэтому необходимо иметь отдельные функции для операций модификации и чтения. Хотя вы можете использовать перегрузки для параметров для выполнения двух функций, я думаю, это будет сбивать с толку.
Кроме того, когда вы говорите, что читать легче, я могу утверждать, что мне нужно заглянуть в будущее, чтобы понять, как его читать:
car.speed()
Я читаю «скорость автомобиля ...», а потом вижу, что номера нет, поэтому я пересматриваю и думаю «получить скорость автомобиля».
car.getSpeed()
Я читаю "для этого автомобиля, набери скорость"
car.setSpeed(55)
Я читаю "для этого автомобиля, установите скорость 55"
Кажется, вы в основном цитировали другие особенности языка как сбивающие с толку, а затем использовали это как защиту для того, чтобы сделать получателей / установщиков более запутанными? Похоже, вы признаете, что то, что вы предложили, более запутанно. Эти особенности иногда сбивают с толку из-за их общего назначения. Иногда абстракции могут быть более запутанными, но, в конце концов, они часто служат для повторного использования. Я думаю, что если вы хотите поспорить в пользу скорости () и скорости (55), вы бы хотели показать, как это может открыть новые возможности для программиста.
С другой стороны, в C # есть нечто похожее на то, что вы описываете, поскольку свойства ведут себя по-разному как геттер или сеттер в зависимости от контекста их использования:
Console.WriteLine(car.Speed); //getter
car.Speed = 55 //setter
Но, хотя это одно свойство, есть два отдельных раздела кода для реализации получения и установки, и ясно, что это метод получения / установки, а не скорость функции, потому что они опускают () для свойств , Таким образом, car.speed () - это определенно функция, а car.speed - определитель свойства.