Я думаю, что главная проблема в том, что вы забыли, что переменные не являются какими-то глобальными уникальными идентификаторами.У них есть контекст, который помогает их объяснить.Читая их, вы обычно узнаете этот контекст: пространство имен, имя класса, имя метода, значение предыдущих строк, имя метода путем присвоения значения переменной или в вашем примере некоторые базовые научные знания, такие как MBps, - это единица скорости передачи данных,скорость всегда измеряется средним значением и т. д. * MBReadPerSecondAverageAfterLastFlushToLog
может быть просто Speed
, если контекст объясняет все остальное ...
Чтобы было легче понять, хотите ли вы пиво, чем выпросто скажите своей подруге, что Give me a beer please!
не то, что Give me an 5°C Gösser beer from the fridge I bought yesterday in the shop for 1$ please!
Какие издержки делает введение объекта?Разве переменная не объявляется гораздо меньше?
Это может быть преждевременной оптимизацией.Сначала вы пишете код, после чего вы должны искать узкие места ...
У меня уже есть метод "ReadFiles", где этот метод, такой как MBReadPerSecondAfterFlushToLog, KBReadPerSecondAverageAfterLastFlushToLog, MBReadPerSecondAveragePerReadOperation, etc6 и т. Д., Работают и т. Д.*
Это могут быть ReadSpeadAfterFlushToLog
, если первые 2 переменные примерно одинаковы, и у вас должен быть класс DataTransferSpeed
, который выполняет преобразование единиц для вас при необходимости.Третья переменная может быть AverageSpeedPerReadOperation
.Если у нас есть только скорости чтения и контекст описывает это, например, имя метода содержит эту информацию, тогда даже часть Read
может быть опущена.Если у вас слишком много переменных, вам может потребоваться несколько более мелких методов, и вы можете сгруппировать переменные, которые вы используете, с структурами и объектами.