Создаю композиции, используя клавишные - чем не шоу-бизнес?
В композиции полезны декорации - мы в театре?.
Заказчику сдана программа, в ней участок кода
Sub RegionsShuffle()
'По 300 метров стартуют по одному,
'разносить в пары не нужно, просто нужно сделать так,
'что друг за другом не бежали спортсмены из одного региона.
A22R _
A2DistributeSameRepetitionsNo( _
Range2array( _
RangeGetNOHeaders(ActiveSheet, "Table01")), 1), _
ActiveSheet.Range("Table01")
End Sub
Цепочка декораторов, хотя и не идеальная - используются аргументы.
Заказчик вспомнил, что нужно ещё пронумеровать забеги.
Прячу аргументы (инкапсулирую) в декоратор.
Function A2Column3Numbering(a2() As Variant) As Variant()
' после нажатия на «Регионы 1» нумерация забегов не меняется? Нужно чтобы бы было просто от 1, 2, 3 и до ... . По одному.
' нумерую 3ий столбец со 2ой строки.
A2Column3Numbering = A2_Column_Numbering(a2, 3, 2)
End Function
Теперь верхний уровень выглядит так:
A22R _
A2Column3Numbering( _
A2DistributeSameRepetitionsNo( _
Range2array( _
RangeGetNOHeaders(ActiveSheet, "Table01")), 1)), _
ActiveSheet.Range("Table01")
Код оказался и остался ремонтопригодным.