Лучшие способы снова использовать методы Java

Я изучаю Java и ООП, и делал проблемы в Euler Проекта для практики (потрясающий сайт btw).

Я делаю многое из того же самого много раз, как:

  • проверка, является ли целое число главными началами / генерирующимися началами
  • генерация ряда Fibonacci
  • проверка, является ли число палиндромом

Что лучший способ состоит в том, чтобы сохранить и назвать этими методами? Если я пишу служебный класс и затем import это? Если так, сделайте я импортирую a .class файл или .java источник? Я работаю от редактора простого текста и терминала Mac.

Спасибо!

6
задан carillonator 30 May 2010 в 22:20
поделиться

4 ответа

Вы можете поместить свои методы в служебный класс, а затем импортировать этот класс (не файл!).

import my.useful.UtilityClass;

...
boolean isPrime = UtilityClass.isPrime(2);

Когда все начинает усложняться и вы хотите повторно использовать свой материал в нескольких проектах, вы можете поместить его в банку и добавить эту банку в проекты. Затем вы можете импортировать и использовать класс так же, как указано выше.

5
ответ дан 17 December 2019 в 00:04
поделиться

Создайте дерево каталогов с вашими ответами. my/math/*.java. Для класса следует указать пакет my.math. Создайте разные классы для разных наборов задач; Primes.java, Fibonacci.java и т.д. Если вы уже решили задачу один раз, не решайте ее снова, если только ваше решение не сломалось.

Добавьте каталог над my/math в свой classpath (java -cp directory) или jar каталог и добавьте его в свой classpath.

Библиотеки, подобные этой, являются жизненной силой успешного проекта. Создание и использование библиотеки решений (для которых в языке еще нет библиотеки) решает ряд проблем проекта. Используйте имеющиеся библиотеки всегда, когда это возможно.

1
ответ дан 17 December 2019 в 00:04
поделиться

Почему бы не создать jar файл, библиотеку ваших собственных, часто используемых компонентов? Если вы компилируете свой java-код, просто включите архив с утилитой в classpath.

0
ответ дан 17 December 2019 в 00:04
поделиться

Идея UtilityClass прекрасна, но она также дает вам возможность попрактиковаться в TDD . Для новой задачи Эйлера создайте пустой метод в своем UtilityClass , где вы решите эту проблему. Затем сделайте набор тестов JUnit , которые используют этот новый метод и зависят от его правильности. Все тесты завершатся неудачно (или должны, потому что вы еще не написали решение!)

Теперь решите задачу Эйлера и посмотрите, как проходят тесты! Если вы захотите повторно использовать код позже, модульные тесты помогут вам исправить ошибки во время рефакторинга и предоставят место для добавления случаев регрессии для ошибок, которые вы можете найти.

1
ответ дан 17 December 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: