Joysi
41 уровень

Оформление кода

Пост из группы Архив info.javarush.ru
2660 участников
Одну из задач (которая была решена и принята сервером) я реализовал в виде кода (забил * и X-ми чтобы не спойлерить). /* xxx 1. Считывать строки(параметры) с консоли, пока пользователь не введет пустую строку(Enter). 2. Каждый параметр соответствует имени ***. Для каждого параметра: 3. Создать объект *** класса ***, который равен *** из getX(String параметр). 4. Вывести на экран toString(). */ public class Solution { public static void main(String[] args) throws Exception { //Add your code here List al= new ArrayList<>(); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String str; while(!"".equals(str = reader.readLine())) al.add(str); for (int i = 0; i Зашедший в гости полузнакомый раскритиковал, что так не пишут (это тебе не C и т.п.). Не подскажете в чем я не прав (есть какие нормы и общепринятые стандарты) ? Или использование в одной строчке нескольких конструкций (оно вообще, без промежуточных присваиваний временным переменным, может привести в каких-либо ситуациях к каким-либо возможным последствиям?) - дурной тон? Основные переменные (al, reader, str) объявлены до их использования (pascal-стиль), так как мне удобнее, всегда знаешь где можешь найти описание переменной с возможным комментарием. Вспомогательные переменные объявлены в нужной зоне видимости (как переменная цикла i). Idea не ругается, правда предлагает 2 опции: Split into declaration and assigment (таки разделить объявление и присваивание) и заключить некоторые участки в блок try. Как бы Вы правильнее написали код? Что не так? Для такой задачи не стоит комментировать каждую строчку.