Ката означает полную противоположность тому, к чему вы должны стремиться.
упражнение, состоящее из последовательности определенных движений боевого искусства, используемых в тренировках и предназначенных для демонстрации навыков в технике
Термин ката (происхождение: 1950–55; <японский язык: форма, рисунок), используемый в боевых искусствах, и ваш вопрос касается запоминания мышечной памяти, как, например, сенсорного набора текста .
В оригинальном упражнении «Карате Кид», вощение машин, шлифовка полов, покраска забора - все это было обучено катам, совершенно вне контекста и в данном случае без объяснения только для обеспечения мышечной памяти. Только когда вошел сэнсэй и дал контекст пустых действий , они что-то значат.
Я думаю, что то же самое применимо и здесь, без наставника, чтобы поставить вещи в контекст, повторное решение проблем неправильно на нескольких языках не лучше, чем на одном. Без наставника, чтобы сказать вам, где улучшить, они пустая трата времени.
Это полная противоположность творческого решения проблем путем изучения новых вариаций идиом и семантики языка или платформы.
Если вы хотите иметь возможность печатать System.out.println()
как можно проще, то практиковать это будет ката.
Если вы хотите улучшить решение проблемы в другой реализации, сократить требования к времени и / или пространству или применить более идиоматические принципы, это не то, что Kata поможет вам в этом.
Уже существует общепринятый в отрасли термин для повторного внедрения одного и того же снова и снова, после того, как он уже работает, стремясь к небольшим постепенным улучшениям и сомнительным преимуществам совершенства, он называется Gold Plating !
Термины, которые они должны были использовать, - это рефакторинг применительно к одному и тому же языку / среде выполнения / платформе. И портирование при перемещении рабочей программы на другой язык / среду выполнения / платформу. Ката, вероятно, была выбрана ошибочно, потому что она звучит хипстерски, круто и мистично, не понимая семантику полностью.
Решать различные сложные проблемы с небольшим планированием, опытом или руководством - это то, что большинство разработчиков, особенно начинающих разработчиков, должны делать каждый день.
Только ученые могут выполнять одно и то же упражнение снова и снова только для того, чтобы отточить конкретное решение. Умение иметь успешную карьеру разработчика является адаптацией , а не повторением.
Кто сказал, что нет умных людей, которым не нужно учиться после работы, и которые могут узнать все, что нужно знать, а иногда и больше за 8 часов работы?