Ответ на вопрос об ответственности
Проблема отступа весьма занимательна. Вызывающая сторона явно передает допол¬нительные пробелы, но действительно ли отступ — это ошибка или это данные, которые переданы по ошибке?
Проблема может быть определена в контексте ответственности применения. Предположим, что вы только что купили роскошный седан и ведете его по скоростной дороге. Если автомобиль развалится, наступит гарантийный случай и стоимость вос¬становления автомобиля будет фактически покрыта. Но если вы будете гонять авто¬мобиль по проселкам с бревнами, выбоинами и камнями на каждом шагу, причем на высоких скоростях, то вряд ли отремонтируете его потом по гарантии.
Вернемся к компоненту перевода, он предоставляет метод TranslateHello () и не¬сет ответственность за него. Вызывающая сторона метода TranslateHello () также несет ответственность за то, что передается ей для перевода. Таким образом, не вы¬зывающая ви сторона несет ответственность за передачу отступа?
Если отступ — обычное дело, то неудача проверки — ошибка компонента. Но если отступ — ненормальное обстоятельство, то не права вызывающая сторона, ее и нужно исправить. И наоборот, если вызывающая сторона права, то в компоненте есть ошибка, которую следует устранить. Но как узнать, не вызывающей ли стороны это ответствен¬ность? Я поступил так потому, что именно так было в соглашении. Главное, определить хорошее соглашение.
Прежде чем я объясняю, как устранить ошибку, я должен вернуться назад и погово¬рить о том, что представляет собой строка и каковы ее возможности.