оспа этого времени

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

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

Сообщения: 1374

Рейтинг: 317

оспа этого времени

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

Сообщения: 1374

Рейтинг: 317

Дарова бандиты!

Есть ли среди вас люди которые пишут на данном ЯП больше года или того) под пишут я подразумеваю что получают за это деньги и имеют реальные навыки.

 

Скоро придется перейти на него а я до этого всю жизнь писал на HLASM.

Синтаксис я уже понял но вот подходы по проектированию..хм)

 

вообщем вот что накалякал за 3-4 часа.

прошу сразу сказать в чем я дебил и почему я такой.

 

p.s концепция классов для меня нова) вот и ы

 

https://gist.github.com/xarizma/9946e8cfe99243a133bf9f45c0b6930b

 

upd. меня интересует больше проектирование арх. программы а не ее оптимизация и т.д.

к примеру то что я поместил меню в отдельный класс это адекватно?

Tentakli

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

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

Сообщения: 1980

Рейтинг: 412

Tentakli

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

Сообщения: 1980

Рейтинг: 412

для начала попробуй 2 книги из серии head first

object oriented design & design patterns

 

помимо джовки в энтерпрайзе еще надо знать sql jpa spring какой-нить 

 

оспа этого времени

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

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

Сообщения: 1374

Рейтинг: 317

оспа этого времени

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

Сообщения: 1374

Рейтинг: 317

Tentakli сказал(а):

для начала попробуй 2 книги из серии head first

object oriented design & design patterns

 

помимо джовки в энтерпрайзе еще надо знать sql jpa spring какой-нить 

 

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

ух английский у меня не супер) но гляну.

 

опыт с mysql есть.

спринг мне врятли понадобится. сфера близко даже не веб.

saw_tooth

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

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

Сообщения: 5550

Рейтинг: 3286

saw_tooth

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

Сообщения: 5550

Рейтинг: 3286

оспа этого времени сказал(а):

писал на HLASM

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

тонкий троллинг

оспа этого времени сказал(а):

к примеру то что я поместил меню в отдельный класс это адекватно?

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

ничего из написанного.

1. куски стороннего кода с свиче

2. отсутсвие разделения логики (принты в перемешку с банк логикой)

3. Отсутствие гет/сет методов для данных - ноль инкапсуляции

4. неполные данные (почему зп не хранится на клиенте, и где интерфесы и реализации по работе с ней?)

оспа этого времени

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

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

Сообщения: 1374

Рейтинг: 317

оспа этого времени

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

Сообщения: 1374

Рейтинг: 317

saw_tooth сказал(а):

тонкий троллинг

ничего из написанного.

1. куски стороннего кода с свиче

2. отсутсвие разделения логики (принты в перемешку с банк логикой)

3. Отсутствие гет/сет методов для данных - ноль инкапсуляции

4. неполные данные (почему зп не хранится на клиенте, и где интерфесы и реализации по работе с ней?)

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

1. ничего не понял

2. лень было выводить создавать отдельный  i для этого.

3. вот это мне и хотелось узнать(

4.потому что это не нужно? я ж этот продукт толкать не собираюсь. я в синтаксисе разбирался.

 

p.s чем тебе hlasm не нравится?)

Exyale

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

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

Сообщения: 265

Рейтинг: 109

Exyale

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

Сообщения: 265

Рейтинг: 109

Цитата:

for (; ; )

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

это что за порнография

и да, много логических дыр, без самой простой базы данных эта задача ни о чем

OWNED1337

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

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

Сообщения: 702

Рейтинг: 334

OWNED1337

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

Сообщения: 702

Рейтинг: 334

Поищи инфу на реддите(в закрытом топике) там точно кто то подскажет тебе! Удачи!

saw_tooth

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

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

Сообщения: 5550

Рейтинг: 3286

saw_tooth

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

Сообщения: 5550

Рейтинг: 3286

оспа этого времени сказал(а):

я в синтаксисе разбирался.

Нажмите, чтобы раскрыть...
оспа этого времени сказал(а):

меня интересует больше проектирование арх. программы

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

Что я щас должен написать?

оспа этого времени

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

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

Сообщения: 1374

Рейтинг: 317

оспа этого времени

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

Сообщения: 1374

Рейтинг: 317

saw_tooth сказал(а):

Что я щас должен написать?

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

не зная как вызвать метод о какой архитектуре идет речь?

Exyale сказал(а):

это что за порнография

и да, много логических дыр, без самой простой базы данных эта задача ни о чем

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

это цикл

saw_tooth

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

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

Сообщения: 5550

Рейтинг: 3286

saw_tooth

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

Сообщения: 5550

Рейтинг: 3286

оспа этого времени сказал(а):

не зная как вызвать метод о какой архитектуре идет речь?

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

тогда зачем ты пишешь дичь о архитектуре, если понятия не имеешь что такое синтаксис языка и функция?

зы

оспа этого времени сказал(а):

p.s чем тебе hlasm не нравится?)

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

тем что ты его в универе прогулял.

(TheOne)

Почетный пользователь

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

Сообщения: 341

Рейтинг: 318

(TheOne)

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

Сообщения: 341

Рейтинг: 318

Почитай хотя бы про MVC/MVVC, если хочется узнать что-то по архитектуре.

По основным принципам ООП - SOLID

По коду:

1. Все на статиках - ноль ООП

2. Все с дефолтной видимостью без гетеров/сетеров

3. Вся логика в одном свиче - нарушение всех принципов SOLID

4. Не покрыты кейсы, когда юзер вводит кривые данные

Это без явных стилистических замечаний. 

 

P.S. for (; ; ) кстати норм, самый лаконичный вариант описания бесконечного цикла, даже в исходиках java на каждом шагу

оспа этого времени

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

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

Сообщения: 1374

Рейтинг: 317

оспа этого времени

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

Сообщения: 1374

Рейтинг: 317

(TheOne) сказал(а):

Почитай хотя бы про MVC/MVVC, если хочется узнать что-то по архитектуре.

По основным принципам ООП - SOLID

По коду:

1. Все на статиках - ноль ООП

2. Все с дефолтной видимостью без гетеров/сетеров

3. Вся логика в одном свиче - нарушение всех принципов SOLID

4. Не покрыты кейсы, когда юзер вводит кривые данные

Это без явных стилистических замечаний. 

 

P.S. for (; ; ) кстати норм, самый лаконичный вариант описания бесконечного цикла, даже в исходиках java на каждом шагу

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

спасибо большое! а утебя случайно нет своих работ с опен кодом. чтобы я посмотрел.

или не твоих. я пытался погуглить но обычно выдает гитхабы проектов с 5тб кода. это я осилить не могу..

(TheOne)

Почетный пользователь

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

Сообщения: 341

Рейтинг: 318

(TheOne)

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

Сообщения: 341

Рейтинг: 318

оспа этого времени сказал(а):

спасибо большое! а утебя случайно нет своих работ с опен кодом. чтобы я посмотрел.

или не твоих. я пытался погуглить но обычно выдает гитхабы проектов с 5тб кода. это я осилить не могу..

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

Просто гугли что-то что содержить "example", так ты отфильтруешь реальные большие проекты. 

Я нагуглил что-то типа такого:

https://gist.github.com/Sammy30/7ebc606e7bb76cefac0f (самый основной пример mvc)

 

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

 

А вообще самые основы хорошо уже разжеваны в книгах.

Как минимум по Java рекомендую:

- совсем разжеваная это "Изучаем Java" - Сьерра К., Бэйтс Б.

- серьезней чтиво «Философия Java» Брюс Эккель

- по паттернам проектирования и архитектуре (там в часности и про mvc будет) "Head First. Паттерны проектирования."

 

Дальше если не забросишь:

- «Чистый Код», Роберт Мартин

- Стив Макконнелл "Совершенный код"

- "Java. Эффективное программирование" Джошуа Блох (к этому моменту уже лучше подтянуть английский и читать последнее издание в оригинале)

 

Еще хороший сайт по чистоте кода и по правильной архитектуре: https://refactoring.guru/ru 

 

salah

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

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

Сообщения: 1055

Рейтинг: -90

Нарушения: 170

salah

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

Сообщения: 1055

Рейтинг: -90

Нарушения: 170

аааааай

что за J2Static:DDDDDDDDD

https://metanit.com/java/tutorial/