Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite code with ide & migrate to Gradle #10

Open
wants to merge 36 commits into
base: master
Choose a base branch
from

Conversation

dark0ghost
Copy link

@dark0ghost dark0ghost commented Jan 23, 2022

  1. перевёл проект на gradle
  2. прошёлся с ide по коду убрал лишнее( вообщем от тех 3 не особо отличается)
  3. убрал ненужные инструкции if-else где это не нужно было и заменил на if-return
  4. вынес закомментированныйкод в отдельную функцию пометив как эксперементальный api master...dark0ghost:master#diff-cf1f41473991b2ecd88405ff82c0a5c686a2c400219df4937481bf47d0bb96d7R23
  5. добавил CI что бы контролировать проект
  6. добавил singltone в котором собрал весь текст, что бы в будущем было легче его редактировать https://github.com/link1107/DonationExecutor/compare/master...dark0ghost:master?short_path=2511803#diff-c153ab6b9052f55b4d2803c70794a61e84f3afcd192c0de9c597a58d6ec848d6R3
  7. Пометил аннотациями неиспользуемые переменные (стоит обратить тебе внимания)

https://github.com/link1107/DonationExecutor/compare/master...dark0ghost:master?short_path=2511803#diff-1952849d3261b5e0bc69757d1fa926ac5127f9fb9a5214bd98126031c43db8e3R35

  1. некоторые "магические константы вынест в отдельную переменную(что смог быстро понять) https://github.com/link1107/DonationExecutor/compare/master...dark0ghost:master?short_path=2511803#diff-1952849d3261b5e0bc69757d1fa926ac5127f9fb9a5214bd98126031c43db8e3R31-R33

ну и ещё что то по мелочи. А так же хотел бы напомнить,что стоит научиться работать с git и с ветками, так будет легче потом

Так же стоило бы перевести проект на Kotlin связи с тем, что на java код слишком плохим получается. Так же стоило бы перевести с java socket на ktor socket

@link1107
Copy link
Owner

А почему всем так мавен глаза мозолит? В чем его недостатки по сравнению с градлом?

@dark0ghost dark0ghost changed the title Rewrite code with ide & migrate to ide Rewrite code with ide & migrate to Gradle Jan 23, 2022
@dokerplp
Copy link

А почему всем так мавен глаза мозолит? В чем его недостатки по сравнению с градлом?

Имхо вкусовщина, у меня в вузе чаще Мавен юзают, на работе тоже, поэтому мне он привычнее, но кто-то может с градом привык больше работать.

@dokerplp
Copy link

Может лучше оставить плагин таким, чтобы Игорь потом смог поддерживать его без твоей помощи, и не надо было учить ещё один язык? А строчки из Text.kt вполне можно вынести в текстовый конфиг.

Предлагаю писать проект сразу на 3-х языках минимум: Java, Kotlin и Scala

И ещё Spring Boot-ом обмазаться

@dark0ghost
Copy link
Author

А почему всем так мавен глаза мозолит? В чем его недостатки по сравнению с градлом?

Имхо вкусовщина, у меня в вузе чаще Мавен юзают, на работе тоже, поэтому мне он привычнее, но кто-то может с градом привык больше работать.

Вот статейка от OTUS которая немного посвятит об этих системах сборок в краце https://habr.com/ru/company/otus/blog/593903/

@dokerplp
Copy link

Игорь смог сохранить его без твоей помощи, и не надо было учить ещё один язык? А строчки из Text.kt вполне можно вынести в текстовый конфиг.

  1. ну здесь всего 3 файла файла только на котлине и то 2 из них это аннотации и 1 singltone и то со static field

  2. я бы все же настаивал бы на изучение Kotlin за счёт того что на нём про писать (null safe и тд), и то что я видёл в изначальной код базе, могу сказать, что стоит лучше выучить kotlin/jvm и не совершать тех ошибок которые были изначально допущены в оригинале, а так же котлин намного кароче, как пример:

java:

 disconectListener = new Listener() {

            @Override

            public void call(Object... arg0) {

                logToConsole("Соединение разорвано!");

            }

        };



.on(Socket.EVENT_DISCONNECT, disconectListener)

kotlin:

.on(Socket.EVENT_DISCONNECT){

 logToConsole("Соединение разорвано!")

}

разве не повод ради такого выучить Kotlin?

  1. на счёт конфигов: я согласен с тем, что более корректным было бы использовать config.xml/json, но учитвая, что нам здесь не нужна переносимость конфигов межде разными языками и тем более проектами, то я предпочёл использовать такую структуру + const val даёт оптимизацию (compile time constant - https://kotlinlang.org/docs/properties.html#compile-time-constants) так что лично я считаю допустимым в данном случае использовать такую структуру, но это моё мнение

Человек только начал изучать язык, я боюсь что он толком то не понимает про jvm то. У Java комьюнити больше, примеров в сети больше, используется в ентерпрайзе он намного чаще. Выучить Котлин, зная джаву это 1-2 недели. Меня правильно упрекнули за ломбок. Действительно лучше сначала пострадать и пописать код руками (в том числе и проверки на null). Поэтому лучше учиться на Java

@dark0ghost
Copy link
Author

Может лучше оставить плагин таким, чтобы Игорь потом смог поддерживать его без твоей помощи, и не надо было учить ещё один язык? А строчки из Text.kt вполне можно вынести в текстовый конфиг.

Предлагаю писать проект сразу на 3-х языках минимум: Java, Kotlin и Scala

И ещё Spring Boot-ом обмазаться

Spring boot? Ktor.io для чего придумали? И вообще, Kotlin в отличие от 2ух названных языков умеет в MP)

@dokerplp
Copy link

Может лучше оставить плагин таким, чтобы Игорь потом смог поддерживать его без твоей помощи, и не надо было учить ещё один язык? А строчки из Text.kt вполне можно вынести в текстовый конфиг.

Предлагаю писать проект сразу на 3-х языках минимум: Java, Kotlin и Scala

И ещё Spring Boot-ом обмазаться

Spring boot? Ktor.io для чего придумали? И вообще, Kotlin в отличие от 2ух названных языков умеет в MP)

Так Спринг же не только для веба, и у него не веб приложение вроде (могу ошибаться, я в логику не всматривался, только в синтаксис)

@dark0ghost
Copy link
Author

Игорь смог сохранить его без твоей помощи, и не надо было учить ещё один язык? А строчки из Text.kt вполне можно вынести в текстовый конфиг.

  1. ну здесь всего 3 файла файла только на котлине и то 2 из них это аннотации и 1 singltone и то со static field

  2. я бы все же настаивал бы на изучение Kotlin за счёт того что на нём про писать (null safe и тд), и то что я видёл в изначальной код базе, могу сказать, что стоит лучше выучить kotlin/jvm и не совершать тех ошибок которые были изначально допущены в оригинале, а так же котлин намного кароче, как пример:

java:

 disconectListener = new Listener() {

            @Override

            public void call(Object... arg0) {

                logToConsole("Соединение разорвано!");

            }

        };



.on(Socket.EVENT_DISCONNECT, disconectListener)

kotlin:

.on(Socket.EVENT_DISCONNECT){

 logToConsole("Соединение разорвано!")

}

разве не повод ради такого выучить Kotlin?

  1. на счёт конфигов: я согласен с тем, что более корректным было бы использовать config.xml/json, но учитвая, что нам здесь не нужна переносимость конфигов межде разными языками и тем более проектами, то я предпочёл использовать такую структуру + const val даёт оптимизацию (compile time constant - https://kotlinlang.org/docs/properties.html#compile-time-constants) так что лично я считаю допустимым в данном случае использовать такую структуру, но это моё мнение

Человек только начал изучать язык, я боюсь что он толком то не понимает про jvm то. У Java комьюнити больше, примеров в сети больше, используется в ентерпрайзе он намного чаще. Выучить Котлин, зная джаву это 1-2 недели. Меня правильно упрекнули за ломбок. Действительно лучше сначала пострадать и пописать код руками (в том числе и проверки на null). Поэтому лучше учиться на Java

Я сначала начинал с Kotlin/jvm, потоп уже тыкал java, плюс в telegram куча чатов: https://t.me/kotlin_lang, https://t.me/javastart - как основные. И опять же зачем страдать с этими null, если можно писать нормально в kotlin и трогать null когда это необходимо. Java тем более сейчас вытесняется во многих компаниях, google как главный пример, не говоря уже про другие компании. На счет getter/setter - в данном проекте их особо не потыкать поэтому я бы настаивал использовать kotlin, который их бы автоматом генерел бы, я считаю, что в данном проекте, раз его используют другие люди, лучше будет сделать как надо, а поиграться всегда можно успеть (сделать ветку с названием test условно и там поиграться)

@dark0ghost
Copy link
Author

Игорь смог сохранить его без твоей помощи, и не надо было учить ещё один язык? А строчки из Text.kt вполне можно вынести в текстовый конфиг.

Предлагаю писать проект сразу на 3-х минимумах: Java, Kotlin и Scala
И ещё Spring Boot-ом обмазаться

Весенний ботинок? Ktor.io для чего придумали? И вообще, Kotlin в отличие от 2ух названных языков умеет в MP)

Так Спринг же не только для веба, и у него не веб вроде приложение (могу ошибаться, я в логику не всматривался, только в синтаксис)

он ходит гулять в интернет вот класс DonationAlerts. как я выше писал тут можно было бы использовать сокеты на корутинах у того же ktor, но это уже пусть он сам решает, потому что async в kotlin хоть и не так сложен как в других языка, но все же требует достаточно времени, чем здесь и сейчас

@link1107 link1107 force-pushed the master branch 4 times, most recently from b8b25a4 to b5313d1 Compare January 31, 2022 18:57
@link1107 link1107 force-pushed the master branch 4 times, most recently from 5da4933 to 77060ca Compare February 9, 2022 13:03
@AngryJKirk
Copy link

А почему всем так мавен глаза мозолит? В чем его недостатки по сравнению с градлом?

Не читал тред, но градл мусорка.

Для 99% случаев не нужно иметь ИМПЕРАТИВНЫЙ полный по тьюрингу язык чтобы оперировать зависимостями и плагинами. Мавен хоть и выглядит не очень привлекательно (чем бесит хипстеров), но зато декларативный и не позволяте делать одинаковые вещи тремя разными путями.

@link1107 link1107 force-pushed the master branch 10 times, most recently from e4079e4 to 8e4a78e Compare February 12, 2022 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants