LINUX.ORG.RU

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

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

Просто разные стили программирования…

Если мы пишем в процедурном стиле, то объявление функции это ТЗ на ее написание, и конечно, хотелось бы, чтобы ТЗ было максимально четким – что получает, что возвращает, имя функции описывающее ее суть, комментарии если этого всего недостаточно… Тут важно, чтобы все типы были явно определены. Эту часть можно воспринимать как часть проектирования архитектуры программы.

А если я пишу приватный метод, который возвращает итератор объекта, то нафиг мне писать четырех-этажный тип данных, я могу написать и auto, из названия функции будет ясно что она возвращает, да и область видимости такая, что этой функцией буду заниматься только я.

Еще, конечно, есть вариант с написанием очень абстрактного кода, который с какой-то натяжкой можно считать не привязанным к типу данных, но тут могут потом всплыть проблемы, потому что по факту вычисления очень сильно зависят от типа данных… Но, наверное, в некоторых случаях, в очень небольшой области видимости это можно делать.

PS: это к ветке дискуссии «Я обожаю когда auto – возвращаемый тип.»

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

Просто разные стили программирования…

Если мы пишем в процедурном стиле, то объявление функции это ТЗ на ее написание, и конечно, хотелось бы, чтобы ТЗ было максимально четким – что получает, что возвращает, имя функции описывающее ее суть, комментарии если этого всего недостаточно… Тут важно, чтобы все типы были явно определены. Эту часть можно воспринимать как часть проектирования архитектуры программы.

А если я пишу приватный метод, который возвращает итератор объекта, то нафиг мне писать четырех-этажный тип данных, я могу написать и auto, из названия функции будет ясно что она возвращает, да и область видимости такая, что этой функцией буду заниматься только я.

Еще, конечно, есть вариант с написанием очень абстрактного кода, который с какой-то натяжкой можно считать не привязанным к типу данных, но тут могут потом всплыть проблемы, потому что по факту вычисления очень сильно зависят от типа данных… Но, наверное, в некоторых случаях, в очень небольшой области видимости это можно делать.