Чего можно ожидать, когда вы испортите файл, созданный инструментом? Беспорядок, не так ли?
Это очень и очень важно всегда забыто разработчиками.
Возьмите Матисса в качестве примера. Он генерирует файл XML для вас и файл .java для вас.
Почему разработчики начинают менять эти классы?
Позже они жалуются, что все испорчено, и указывают на то, что в этом виноват Матисс, потому что Матисс не делает А или не делает B. Единственное, в чем виноват Матисс, это то, что он не может исправить беспорядок, продвигаемый разработчиками. , Это проблема в области искусственного интеллекта, и я лично не ожидаю никакого решения в ближайшее время.
Для этого есть более или менее простое решение: ООП.
Я объясняю: одним из наиболее важных понятий ООП является «ответственность», что означает, что определенный класс несет ограниченную и четко определенную ответственность в более широкой и более сложной проблемной области.
Итак, Матисс сгенерировал для вас пользовательский интерфейс, который в основном состоит из элементов пользовательского интерфейса, обработчиков событий и т. Д.
Тогда вы говорите: ну ... мне нужно добавить немного логики, иначе пользовательский интерфейс не работает. Правда. Это еще одна обязанность, которую нельзя никогда не реализовать в том же классе, сгенерированном Матиссом. Поскольку либо люди ленивы, либо не понимают, что означает «ответственность» в ООП, люди реализуют все, что им нужно, добавляют множество переменных и пропагандируют всякое безумие в классе, который определенно не отвечает за бизнес-логику.
С помощью такой простой вещи, как наследование, вы можете разделить бизнес-логику в расширенном классе. Базовый класс - тот, который произведен Матиссом. Расширенный - это ваш класс, реализованный вручную, который содержит реализацию обработчиков событий, инициализацию элементов пользовательского интерфейса и т. Д.
Многие разработчики испытывают желание отредактировать вручную файл .java, созданный Матиссом.
Золотое правило: никогда , никогда редактируйте файл .java вручную. Матисс дает вам возможность определить, что вам нужно, и позвонить, что вам нужно. Никогда не редактируя ресурсы (как .xml, так и .java), созданные Matisse, вы гарантируете, что он (Matisse) сможет загрузить его снова, если вам потребуется изменить графический интерфейс в будущем. Возможно, у вас возникнет соблазн редактировать файл .java или даже .xml напрямую. Пожалуйста, не поддавайтесь этому искушению и обучайте себя; в будущем вы будете благодарны.
Итак ... вы можете использовать любой инструмент, какой пожелаете, или любой другой, обеспечивающий самые сексуальные элементы интерфейса.
Все инструменты не будут работать, если вам не удастся отделить пользовательский интерфейс от бизнес-логики.
Все инструменты будут успешными, если вы преуспеете в своей основной задаче программиста, а именно: производить достойный код.