Одну из задач (которая была решена и принята сервером) я реализовал в виде кода (забил * и 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.
Как бы Вы правильнее написали код?
Что не так?
Для такой задачи не стоит комментировать каждую строчку.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
я предпочел бы заменить на:
Названия переменных типа «а1» суть зло ))