Soy un principiante y siempre he leído que es malo repetir código. Sin embargo, parece que para no hacerlo, normalmente tendría que tener llamadas a métodos adicionales. Digamos que tengo la siguiente clase
public class BinarySearchTree<E extends Comparable<E>>{
private BinaryTree<E> root;
private final BinaryTree<E> EMPTY = new BinaryTree<E>();
private int count;
private Comparator<E> ordering;
public BinarySearchTree(Comparator<E> order){
ordering = order;
clear();
}
public void clear(){
root = EMPTY;
count = 0;
}
}
¿Sería más óptimo para mí simplemente copiar y pegar las dos líneas en mi método clear () en el constructor en lugar de llamar al método real? Si es así, ¿qué diferencia hay? ¿Qué pasa si mi constructor realiza 10 llamadas a métodos y cada una simplemente establece una variable de instancia en un valor? ¿Cuál es la mejor práctica de programación?