Прочитав про "Самую бесполезную программу" захотелось и себе че-нить написать.
Читая очередные истории успеха, заметил, что народ задает одни и те же вопросы и из рассказов новоиспеченных программистов не все так ясно, как хотелось бы.
Вот я и предпринял попытку написать парсер новостной ленты.
Вот что выводит айдия для моих новостей)))
Зарегистрировался в JavaRush 2015-09-01 числа
За 289 дней было решено 227 задач
Первой решил задачу level00,lesson02,task01 с 5 раза! - 2015-09-01 числа
Последней решил задачу level27,lesson15,big15 с 8 раза! - 2016-06-16 числа
Максимальный уровень решенной задачи - 30
Больше всего ушло нервов на задачу level02,lesson08,task06 с 35 раза! поддалась
Самый длительный перерыв между решением задач c 2015-10-15 по 2016-02-11 (119) дней
Очень даже информативненько получилось)) (на 4 месяца!!! забил ото дал так дал))) возможно если следующий автор истории успеха, вставит такой отчет в рассказ, история будет более наглядной.
Если кому-то не лень:
1. Подскажите как вытащить инфу прям с сайта, мне пришлось копировать таблицу в .txt и с ним дальше работать.
2.Попробовать у себя и отписаться про ошибки или предложения к изменению кода (если айдия несет чушь кидайте в личку свой .txt, допилим родненькую)
ссылка на гит
Это выглядит так:
Копируем новости в файл, в моем случае News.txt
1
Артем
2016-06-18 17:34:51
Артем снова заходит в игру, чтобы немного поразмяться.
.....
10
Артем
2016-06-16 09:45:04
Артем решил задачу level27,lesson15,big15 с 8 раза!
.....
//Вот тут вставляем путь к файлу и запускаем
public class JustDoIt
{
public static void main(String[] args) throws IOException, ParseException
{
Statistic statistic = new Statistic("E:\\IntelliJ\\JavaRushHomeWork\\src\\News.txt");
System.out.println(statistic);
}
}
Пишу в час ночи, извиняйте за орфографию и всякие непотребства)
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
1) Нужно давать названия классов осмысленные имена, чтобы было понятно, что делает конкретный класс.Я бы главный класс, который запускает Вашу программу назвал бы Main или Starter, ну или как-то более понятно, что он запускает программу.
2) Нет разделения по пакетам(оно есть, но не так сильно, как хотелось бы), и это плохо. Как бы странно не звучало, но здесь можно пролипить MVC шаблон. Даже если Вы его зделаете неправильно, а с вероятностью % 90-95 оно так и будет, с шаблоном Вы все-таки познакомитесь.
3) Какие цели преследуют классы Statistic и Parser, и есть ли смысл в каком то из них?
4)у Date, около 80% методов Deprecated и он сам по себе Mutable, его лучше не использовать, вместо него лучше использовать java.time API из Java 8.
5) Желательно(это в смысле по желанию, можно, но на первых порах пока рановато) использовать тестирование и библиотеки, JUnit и Mockito. По своему опыту обучения и написания кода знаю, что к плохому коду тесты невозможно написать, если мы конечно не говорим о подгонке тестов под код.