Как научиться решать задачи? Словил мини тильт

avatar Ectx

527

30

Ectx

Пользователь

Регистрация: 20.07.2020

Сообщения: 1507

Рейтинг: 698

Ectx

Регистрация: 20.07.2020

Сообщения: 1507

Рейтинг: 698

img
Noonecan сказал(а):

Совет, которого не просили:

1. пиши тесты, не важно какие они будут, как много они проверяют. Для начала просто протестируй haapy-way и один фиговый путь (любой изъян). Можешь пользоваться плагином покрытия кода у самой IDE.

Как только приучишь себя писать тесты - 80% ошибок будешь ловить еще до деплоя.


2. Обрабатывай исключения, сейчас твой код просто выбрасывает исключения, не логирует никаких данных. Напиши простейший вывод System.err.println("Поломались на процессе вычитать все из файла"). Это поможет разобраться, на каком моменте ты сломался


3. Называй переменные читаемыми именами, чтобы понимать за что оно вообще отвечает, через месяц откроешь свой код - и будешь полчаса разбирать, какая переменная за что отвечает


А в целом - да неплохо для начального уровня.

Стримы поиспользовал, тредсейф переменные поиспользовал.

Нажмите, чтобы раскрыть...


Спасибо за фидбек

iChrome[BY]

Пользователь

Регистрация: 21.05.2014

Сообщения: 185

Рейтинг: 181

iChrome[BY]

Регистрация: 21.05.2014

Сообщения: 185

Рейтинг: 181

Noonecan сказал(а):

А в целом - да неплохо для начального уровня.

Стримы поиспользовал, тредсейф переменные поиспользовал.

Нажмите, чтобы раскрыть...

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

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


А вообще молодец, что в итоге сам разобрался. Ситуаций когда открываешь код и хочется его сразу же закрыть будет еще много, и на будущей работе тоже. Тут главное пересиливать себя и продолжать заниматься

Noonecan

Пользователь

Регистрация: 14.03.2014

Сообщения: 1248

Рейтинг: 344

Noonecan

Регистрация: 14.03.2014

Сообщения: 1248

Рейтинг: 344

iChrome[BY] сказал(а):

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

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


А вообще молодец, что в итоге сам разобрался. Ситуаций когда открываешь код и хочется его сразу же закрыть будет еще много, и на будущей работе тоже. Тут главное пересиливать себя и продолжать заниматься

Нажмите, чтобы раскрыть...

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

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


-B4d_b0y-

Пользователь

Регистрация: 11.02.2018

Сообщения: 5904

Рейтинг: 3719

Нарушения: 35

-B4d_b0y-

Регистрация: 11.02.2018

Сообщения: 5904

Рейтинг: 3719

Нарушения: 35

img

Ля у тебя в обычном тексте куча ошибок, представляю какой говнокод ты будешь лепить

Ectx

Пользователь

Регистрация: 20.07.2020

Сообщения: 1507

Рейтинг: 698

Ectx

Регистрация: 20.07.2020

Сообщения: 1507

Рейтинг: 698

img
-B4d_b0y- сказал(а):

Ля у тебя в обычном тексте куча ошибок, представляю какой говнокод ты будешь лепить

Нажмите, чтобы раскрыть...

Русский не мой родной язык, никогда его целонаправленно не учил только на практике и смотря мультики и видосики. Думаю можно простить