Откуда называть System.out.println считая хорошие практики?

У меня есть сомнение, с которым в System.out.println он относится.

Я использую System.out.println чтобы показывать, какая дата входить посредством Scanner или чтобы сообщать пользователю, что произошло.

Я не знаю, если использовать System.out.println

  • в классе main, или
  • в классе, который содержит методы для функциональности моей программы.

С точки зрения лучших практик и читабельности кода: откуда он был бы должен призывать печатать это на экране?

2
задан 08.01.2017, 12:53
3 ответа

Вот, System.out.println () в общем ты можешь использовать их как в методах, так и в методе Main. Но из-за соглашения, каждое что-нибудь в этом роде System.out.println () лучше оставлять это в методе Main. Если ты хочешь debuguear твою программу, ты можешь помещать их внутри методов, где ты делаешь операции, но потом лучше доставать их.

-1
ответ дан 24.11.2019, 13:11
  • 1
    Я не проголосовал в против, но не думаю, что он только должен называться в м и # 233; совсем main. Таким кажется, что твои классы только покрывают один, согрешите и # 241; или t и # 243; я шифрую, и я увеличивать и # 237; в recomendaci и # 243; n, в который осуществился этот призыв к м и # 233; все, кто присоединялись бы к presentaci и # 243; n твоей системы для interacci и # 243; n человек - компьютер. –  09.10.2016, 19:54

В реальном приложении, он элегантнее (и он имеет чувство) использовать больше logging (используя какой-то frame logback например). Для намерений изучения, поскольку это твой, в настоящее время, в действительности он немного безразличный. Ты можешь (и ты должен) предоставлять всю возможную информацию, которая полезная, чтобы мочь делать debugging программы или чтобы сообщать пользователю. Для этого намерения, любое место, где он был выполнен, будет подходящим для того, чтобы использовать System.out.println ()

-1
ответ дан 24.11.2019, 13:11
  • 1
    То, что ты показываешь, блистает хорошо для debug но индийского OP тем, что interacció n с пользователем он посредством консоли. –  08.01.2017, 18:32

Правильное состоит в том, чтобы использовать System.out.println в методе main, никогда ты не был бы должен использовать это внутри метода класса как например в классе, в котором ты используешь методы ArrayList. Лучшее состоит в том, чтобы то, что ты хочешь показать, ты поместил в метод, который возвращал бы String, с которым ты хочешь показать, например:

public class Universidad {

    private List<Estudiante> estudiantes;

    public Universidad(ArrayList<Estudiante> estudiantes) {
        this.estudiantes = estudiantes;
    }

    public String getNumeroEstudiantes() {
        return "El número de estudiantes es de " + estudiantes.size();
    }

}

И потом в main:

public class Main {

    public static void main(String[] args) {
        Universidad universidad = new Universidad(Arrays.asList("Pepe", "Juan");
        System.out.println(universidad.getNumeroEstudiantes());
    }
}

Он это покажет из-за экрана:

El número de estudiantes es 2

-1
ответ дан 24.11.2019, 13:11

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

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

Почему? Давайте видеть это с другой более простой перспективы понимания.

Представь приложение, которое общается с базой данных. Будучи должен работать с базой данных от случая к случаю самое удобное будет состоять в том, чтобы думать...

ах стой, так как я помещаю консультацию прямо в мой код, потому что общее количество, эта консультация не будет требоваться в других частях

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

Сколько было бы сложно изменять сейчас базу данных? Или изменения неких подмостков? Если ты вдруг должен добавлять сделки и управление ошибок... Ты будешь являться чем-то тривиальным и простым внедрения?

1
ответ дан 03.12.2019, 20:04
  • 1
    +1, но я предлагаю edició n: Менять Мой opinió n из-за может быть: Общая идея , Большинство разработчиков , Рекомендуемое –  24.01.2017, 16:37
  • 2
    @jasilva я увидел столько вещей программируя (я предполагаю что как любой) что у меня не остается таким ясным, что mayorí в разработчиков поддержите мое положение :) –  24.01.2017, 16:41
  • 3
    Я думаю, что хорошие программистов поддержали бы твое положение –  24.01.2017, 16:57

Вывод данных в Java, простой так как достаточно использовать System.out.println, показывая данные из-за экрана в наших программах, смоги быть использованным так в классе main как в других классах.

String valor = "";
Scanner reader = new Scanner(System.in);
valor = reader.nextLine();
System.out.println("Valor ingresado en pantalla : " + valor);

В классе main, или в классе, который содержит методы для функциональности моей программы.

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

System.out.println(
    "Aprendiendo a comentar" + "\n"
    "en StackOverflow." + "\n"
    "Saludos."
);
-1
ответ дан 03.12.2019, 20:04