powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Оптимальное написание кода. Как сделать последовательное присвоение
133 сообщений из 133, показаны все 6 страниц
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094409
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Присвоение полям объекта я обычно делаю так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
try {
            SendMessage msg = new SendMessage();
            msg.setChatId(String.valueOf(chatId));
            msg.setText(messageText);
            msg.setReplyMarkup(inlineKeyboardMarkup);
            execute(msg);
        } catch (TelegramApiException e) {
            e.printStackTrace();
        }



В примерах видел так

Код: java
1.
2.
3.
4.
5.
try {
            execute(new SendMessage().setChatId(chatId).setText(messageText).setReplyMarkup(inlineKeyboardMarkup));
        } catch (TelegramApiException e) {
            e.printStackTrace();
        }



Но у меня это вызывает ошибку синтаксиса.

Что нужно изменить в среде разработки (intellij idea) ?
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094414
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorD
Что нужно изменить в среде разработки (intellij idea) ?

Ничего
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094415
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorD

Но у меня это вызывает ошибку синтаксиса.

С вероятностью 99.9999999 % - она и есть, ошибка синтаксиса

IgorD
видел так

На заборе написано ....
А там дрова лежат

( C ) народная мудрость

Все в жизни не правильно.
Горло промочишь, ноги не ходят,
ноги промочишь, горло болит

( C ) еще одна народная мудрость
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094421
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, немного радует, что не я один не знаю :). Но вопрос остается
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094424
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой вопрос?
Что в словах "ошибка в синтаксисе" Вам не понятно?
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094425
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читайте книжки. Или по английски, или зайдите в любой книжный магазин, или закажите на ozon.ru

https://docs.oracle.com/javase/specs/jls/se8/html/index.html

https://www.ozon.ru/category/knigi-16500/?from_global=true&text=Java
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094428
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, обещаю поделится ответом, когда найду :)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094433
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I.
Сорри за impolite, просто нервы. Вежливо мне просто не сформулировать.

II.
Со мной не надо )))
1. Ответ я и так знаю. 22366360
2. Так долго, как Вы будете искать другой ответ на Ваш исходный вопрос, боюсь я не проживу.

Если есть какой-то другой вопрос. Например, что именно и почему в той последовательности букв, которую Вы написали, дает ошибку, то приводите:
1. Нормальный код, который можно скомпилировать и увидеть ошибку
2. Как минимум: название и номер версии библиотек которыми Вы пользуетесь. Т.к. догадываться, из какой помойки взяты SendMessage и TelegramApiException - телепаты и гадатели по хрусталым шарам конечно есть, но это сильно утомительно.
3. На каком заборе Вы что-то видели. Или если у тиктокиров или youtube стримеров, то на каком канале и в какую минуту. Опять таки, телепатов нет.
4. Текст сообщения об ошибке так, как выдает среда разработки/компилятор (добуквенно). А не в Вашем пересказе
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094434
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего автору нужен шаблон Builder.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094435
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
IgorD
Что нужно изменить в среде разработки (intellij idea) ?

Ничего

+1
Хотя я люблю в одну строку)))
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094436
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Скорее всего автору нужен шаблон Builder.
главное штоб идолом не стало. И перфекционизмом.
Тут от for многих тошнит
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094441
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Скорее всего автору нужен шаблон Builder.

Не мение точный и бесполезный ответ, как и мой первый

1. Если автор не способен понять, в каком месте последовательности букв у него "ошибка синтаксиса", то "тут программист нужен". Но с этой проблемой, как известно, нужно идти в соседний подфорум
2. Если автор что-то увидел у youtube стримера, то обычно AFAIK, можно задонатить стримеру и спросить у него.
3. Подозреваю, что если п.1 истенно, то что такое Builder, что такое шаблоны автору лучше голову себе не забивать. А хоть какую-то книжку "Java для чайников" почитать. Хотя бы первые главы.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094448
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094450
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Newby заходит вайти. Обычное дело. И тут надо быть осторожным. Дашь совет юзать билдер. Он потом везде будет
пихать билдер даже там где он не нужен.

Пусть конструктор с параметрами сделает.

Хоть 2 варианта будет.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094459
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Нашел проект https://github.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot в котором применяется такой подход к написанию кода, и ошибки синтаксиса нет
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094460
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eще раз Sorry. Нервный я сейчас. Вежливо просто не сформулировать.

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

Довод "видел так" это просто за гранью. Мало ли что где видел и где что написано. Ну и "что нужно изменить в среде разработки" так же феерично.

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

Вот ровно то, о чем я и говорил в 22361486 И даже с темой вопроса почти угадал ))) какой я проницательный ясновидец ! Аве мне !
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094463
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
таки да, версия библиотеки другая. А я уж обнадеялся, что появились новые нанотехнологии в написании кода.
Вопрос закрыт
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094466
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
... поубивал бы.... все на анотациях

(попробую поадвокатировать)
как это можно?
аннотации заменяют программиста путем декларации его намерений.
Вы же используете sql для работы с бд, и не сильно печалитесь от того, что в конкретном месте сами могли бы реализовать поиск лучше и эффективнее.
И более того, с подозрением на шизофрению смотрите на тех, кто на самом деле так думает...

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

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

Тут на 100% как с sql - если ты sql используешь - то кто ты - конечный пользователь субд или программист?
В этой аналогии - если аннотации используешь - значит ты конечный пользователь, не имеющий права ломать систему.
А когда ты программист, и пишешь код, реализующий содержательные алгоритмы, то места для аннотаций в нем непосредственно,
скорее не будет.
Код либо есть и представлен явно, либо его нет по причине посадки в чёрный ящик аннотаций - он становится технически
ненаблюдаем, и тогда судить о нём возможно только с применением продвинутых экспериментальных методов английских ученых...
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094467
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorD

Нашел проект ... в котором применяется такой подход к написанию кода, и ошибки синтаксиса нет

Ну значит там ее нет
А у Вас есть

Ну и это не "присвоение". Это специальным образом сделанные сетторы, которые паралельно возвращают this. Называется Builder. Синтаксически - вызов ф-ций.

Ищите, в каком именно месте Вашей "последовательности букв" Вы сделали синтаксическую ошибку. Разбирайтесь, почему оно так. За Вас сделать это сложно и почти невозможно. Т.к. никакого кода, который можно было бы попытаться скомпилировать, что бы увидеть и воспроизвести проблему, Вы не привели.

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

p.s.
присвоение это оператор =
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094468
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нана-технологии будут с JavaRecords (since JDK16). Там будешь лупить сущности в 1 строчку. Like Scala CaseClasses.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094470
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Прикладной программист, как человек пишущий содержательный код, должен быть изжит,
их просто не должно быть так много миллионов.
Это два разных и никак не связанных утверждения.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094471
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

Я полез в сорцы, что бы посмотреть, что же такое setChatId которое пытается вызвать автор топика.... и вообще не нашел такого. Зато "вроде есть" анотация builder. И.... Могу я по этим сорцам сделать хоть какое-то предположение, что же могло пойти не так?... Фигли с два.

Нужна среда разработки, нужен проект, нужно провалится в сгенерированный (возможно разджавленый / дизассемблированный) код. Просто по коду программы - я фиг могу сказать, что же там происходит.

Ну и как я понимаю, анотоации нифига не стандартизированны. Т.ч. в одной среде сборки назвали builder в плане "последовательное присвоение" в другой, юные генеальные падованы, могли сделать "пошел ты нафиг дядя", что еще больше добавляет к чтению и интерпритации "буковок и циферек" ( C ) в исходниках.

Это примерно как замечательные типы Date, Time, BigInteger... 100500 библиотек и одно название класса... бл.... что же делает код и что именно он вызывает, глазами фиг поймешь.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094480
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
когда писал этот пост, надеялся, что может появилось что-то нечто project lombok . В свое время, когда начал его использование, код удалось сократить значительно.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094481
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант автор не настроил среду под Lombok

https://projectlombok.org/setup/intellij

Кстати я-бы настойчиво просил Игоря прикладывать не скрины со среды а лог сборки сборщиком. Градл есть? Значит
должен уверенно собирать.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094482
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, у меня последней версии библиотека telegrambots-spring-boot-starter, и там они перекроили немного. По этому ошибка синтаксиса.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094484
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты не находишь странным что мы всё время читаем не стектрейс реальной ошибки а твой пересказ?

Это очень грустно. Нам нужны детали а не изложение с чужих слов.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094486
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, вопрос мой обобщенный, по оптимизации кода, из разряда, "а можно ли так, и как это сделать, я видел другие так пишут?" :)
У своем коде я последовательно описал присвоение, и ошибки компиляции нет
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094488
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
.... что же делает код и что именно он вызывает, глазами фиг поймешь.

суть дела в том, что ты ни коем случае не должен над этим задумываться.
Задумался - пропал, сломал концепцию, занялся тем, что не является твоим делом, то есть - занялся прямым саботажем и вредительством.

Но ты должен уметь подключать аннотацию.
Вот что она делает в космическом корабле - попадем на орбиту - там разберемся по наблюдаемому поведению....
А взорвется - запустим следующего космонавта-испытателя.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094490
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Говоря сухо - да можно. Только я билдер делаю так.

Код: java
1.
new SendMessage.Builder().withChatId("").withText("").build();



И без всяких Ломбоков. В среде другой плагин есть для этого. Генератор кода-билдера.
Только напиши билдер хоть раз руками сам.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094494
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

...
А взорвется - запустим следующего космонавта-испытателя.


Alex Besogonov
@americandreamy

Мда. А ещё говорят, что Россия победила нацизм. По-моему, проиграла.

/ из дискуссии к https://varlamov.ru/yjUfrihkU3- /
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094498
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
Мое имхо что будет следующий этап за Декларативным программированием. Аннотации это просто один из способов (реализация).
Сильно не зацикливайся на нём)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094501
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Скорее всего автору нужен шаблон Builder.
главное штоб идолом не стало.
Поздняк метаться. Он уже везде: 22365779
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094503
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мое мнение, что достаточно простой (ранее) и понятный (ранее) язык преврашают в помойку, где без полбутылки не разберешься.

Уже расказывал, что пришлось работать с программой где части были написаны на Cobol'е. Даже книжек читать и покупать нам не потребовалось. Все и так понятно. Ньюансы синтаксиса пофиг, но что делает программа, что с чем складывает, что от чего вычитает и в каких случаеях какие ошибки говорит - было понятно. Для этого нужно иметь хоть какой-то опыт в программирование + знать пару слов по английски (for, if, while, integer etc...)

На данном форуме иногда постят вопросы/код на Scala, стримах и так далее. Вроде и код 5-10 строк, но что он делает - х.з. Реально нужно бежать в магазин и брать полбутылки

Современная Java, прости господи, начинает "по понятности" напоминать Perl или Forth. Фиг что поймешь, зато мало буковок. Смотрите какой простой (ха-ха-ха) и емкий язык мы придумали!
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094504
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже десять лет назад, задавал вопрос, нафига эти портянки геттеров/сеттеров.... Теперь да, прогресс. Сначала ху... всюду внедрили, теперь сделали еще одну ху... в виде анатоций, что бы с предыдущей ху... стало проще жить.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094505
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
booby

...
А взорвется - запустим следующего космонавта-испытателя.


Alex Besogonov
@americandreamy

Мда. А ещё говорят, что Россия победила нацизм. По-моему, проиграла.

/ из дискуссии к https://varlamov.ru/yjUfrihkU3- /


[spoiler] offБлин да этож зенитка! M1117.

YouTube Video
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094510
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А самое главное, что те, кто пытаются сделать "следующий этап за Декларативным программированием", полностью отсутвует понимание, что же они хотят получить в результате. Поэтому рождаются какие-то недоношенные огрызки. Вроде и идея - неплохая, но идея + как сделано - за гранью добра и зла.

Те же самые геттеры/сеттеры. Взять Delphi. Взяли и не побоялись ввести принципиально новую констуркцию в язык property (если я не ошибаюсь). Снаружи - переменная (работаешь простыми присваиваниями, без всякой порнографии с геттерами/сеттерами), внутри, если нужно переопределить поведение по set/get, можешь навесить свой setter, getter. Можешь, если надо. А если не надо, то ничего и не делаешь.

Что в Java... нам наконец (слава богу, слава яйцам) надоели простыни set'ов, get'ов, мы сделали анатоации! Ура! но сеттеры, геттеры мы трогать не будем, будем их генерить, захломлять код, а в JIT оптимизаторе разоптимизировать обратно. 2021 год. У Вас в квартире груды мусора и дурной запах - не волнуйтесь, мы наконец придумали для Вас диван, под которым теперь мусора будет не видно. В следующей версии, мы обещаем добавить духи, что бы избавиться от запаха.

IMHO
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094511
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorD
"а можно ли так, и как это сделать, я видел другие так пишут?"
Иногда - можно. Иногда - нельзя.
Дьявол, как обычно, кроется в деталях. Которых у вас нет.
Есть только традиционное "Уважаемая редакция. У меня в подвале ..."У своем коде я последовательно описал присвоение, и ошибки компиляции нетХвост, тьфу, синтаксис языка программирования это такая вещь, которая исключает "нечто неопределённое".
Если вы получили синтаксическую ошибку - проблема в вашем коде. В вашем, а не в шпаргалке, с которой вы списывали.

P.S.
Встречались как-то с однокласниками и вот так звучала крайне поучительная концовка небольшой истории: "И тогда я поняла, что у тебя списывать не надо. Ты-то объяснишь как решил, а я - нет".
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094514
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
По-моему, проиграла.
Вот только не надо про все страны в единственном числе.
Во-первых, не "Россия победила", а "победил Советский Союз". Это важное и ключевое обстоятельство.
А во-вторых - фашизм это буржуазная диктатура. И понимать это должен даже либерал.
Просто потому, что жить в условиях буржуазной демократии - сильно безопаснее. Даже для либерала.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094515
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
...
Современная Java, прости господи, начинает "по понятности" напоминать Perl или Forth....Смотрите какой простой (ха-ха-ха) и емкий язык мы придумали!

это две разные истории.
История про аннотации - про то, что ты не должен знать и понимать, как работает твой код.
И для этого много разных объективных причин, которые, если свести в одно целое, сведутся к тому, что
а) человеку, который понимает что делает, необходимо больше платить, а денег (на всех программистов) нет
б) такой человек вреден, опасен и затрудняет разработку наличием обоснованного мнения о реализации конкретной библиотеки и необходимости ее использования.


А у "увеличения понятности языка" со временем есть объективные причины, на которые указал Страуструп в недавно обсуждавшемся интервью - игрушечный язык может быть простой, но при расширении области его применения он объективно становится сложным, вслед за желанием решать более сложные задачи.
Правда, методом применения массового коллективного образования можно получить сложный язык и без увеличения сложности решаемых задач.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094520
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
а) человеку, который понимает что делает, необходимо больше платить, а денег (на всех программистов) нет
б) такой человек вреден, опасен и затрудняет разработку наличием обоснованного мнения о реализации конкретной библиотеки и необходимости ее использования.
Реакционное и опасное мракобесие.
Вот прямо средневековье, когда есть чёткая, идеологически выдержанная иерархия. Только средневековье базировалось на твёрдом материальном фундаменте военной силы аристократии, а современная "элитарность" - на простом когнитивном искажении.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094533
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
...Реакционное и опасное мракобесие.
... базировалось ... на простом когнитивном искажении.


все образование вообще строится на простом когнитивном искажении.
И оно не может быть не элитарным...

Спросите об этом Ноама Хомского - он больше всех об этом знает, а популярно даже Юваль Ной Харари сможет объяснить
:)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094534
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич
PetroNotC Sharp
пропущено...
главное штоб идолом не стало.
Поздняк метаться. Он уже везде: 22365779
аааа держите меня. И в оракле тоже?))))
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094537
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
История про аннотации - про то, что ты не должен знать и понимать, как работает твой код.
это вся ЦЕЛЬ?
Дык и при ООП мы можем не знать как работают кишки.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094541
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
И оно не может быть не элитарным...
Да (исправил ошибку) - может. Только это путь в никуда.
Тропа, превращающая человека разумного в интеллектуальный придаток промышленного инструмента.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094545
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
booby
История про аннотации - про то, что ты не должен знать и понимать, как работает твой код.
это вся ЦЕЛЬ?
Дык и при ООП мы можем не знать как работают кишки.

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

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

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

Аннотации в этом смысле гораздо лучше - глубина их воздействия на сам код и его поведения непредсказуема.
Это гораздо ближе к совершенству - для понимания того - работает ли кусок кода, нужно применять научные методы статистического анализа.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094550
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

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

Очень сильно напоминает "автостопом по галактике'.
Скажите, не Вы ли были изобретателем Земли?
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094555
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
Тогда вам в нейронные сети. Они на других принципах.
Зачем вы над нашими программистами издеваетесь?
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094569
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
booby
И оно не может быть не элитарным...
Да (исправил ошибку) - может. Только это путь в никуда.
Тропа, превращающая человека разумного в интеллектуальный придаток промышленного инструмента.


Думаю, последний тезис не на 100% верен, но до определенной степени так и есть.
Здесь все-таки предполагается, что должен быть набор людей, через которых осуществляется контроль над самими "промышленными инструментами" - и у них должно быть другое образование.

Сейчас уже практически пришла пора, когда людям можно платить просто за то, чтобы они ничего не делали, совсем ничего,
но не возмущали при этом общественного спокойствия.
(У Бредбери пожарный на всякий случай сжигал книги в домах людей, чтобы те не выбивались из рамок ООП и прочего текущего образования для всех. Имени этого пожарного появился HTTP код 451)

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

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

Поэтому какой-то способ запрятывания сложности в "интерфейсы", так или иначе, неизбежен.
Аннотации, видимо, привлекательны тем, что в одну аннотацию запихивается, потенциально, произвольная сложность.
Существо же дела в том, что когда самих аннотаций становится больше трех - возникает проблема - какую же из них применять.
А когда их число дорастает до семи, задача приобретает черты нерешаемой.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094570
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
booby,
Тогда вам в нейронные сети...

Эта, да - сила....
Никто не знает как они работают.
Просто они так научились работать, вот и всё.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094576
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Аннотации, видимо, привлекательны тем, что в одну аннотацию запихивается, потенциально, произвольная сложность.
Существо же дела в том, что когда самих аннотаций становится больше трех - возникает проблема - какую же из них применять.
А когда их число дорастает до семи, задача приобретает черты нерешаемой.

именно из за этих недостатков они умрут
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094578
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
PetroNotC Sharp
booby,
Тогда вам в нейронные сети...

Эта, да - сила....
Никто не знает как они работают.
Просто они так научились работать, вот и всё.

ну дак не торопитесь пихать всюду аннотации.
Искусственно насаждая.
Пока я как прогер хочу чтобы каждый оператор делал мне точно по хелпу.
Не аннотация, а оператор ЯП.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094590
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Сейчас уже практически пришла пора, когда людям можно платить просто за то, чтобы они ничего не делали, совсем ничего, но не возмущали при этом общественного спокойствия.
Эта пора уже прошла.
Техническая возможность обеспечить прожиточный минимум для всех появилась на рубеже конца девятнадцатого - начала двадцатого века.
За прошедшее время появилась техническая возможность обеспечить не просто прожиточный минимум, но и комфортное проживание.

Что же до всей прочей фашисткой муры, то она не может работать по целому ряду объективных причин.
Даже в рамках той самой буржуазной диктатуры для которой вся эта мура создавалась и создаётся.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094606
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov

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

Карл Баллод. Государство будущего... ?

вроде по шизовости что-то близкое к Хазину или Фоменко. Сложил, поделил, получил какую-то чушь

IMHO
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094648
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думал мы просто очертим границы мета-программирования. Дескыть что можно и что нельзя....

А мы - в политику и конспирологию....
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094655
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
...очертим границы мета-программирования. Дескыть что можно и что нельзя....

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

Другое дело, когда предоставляют "механизм", "конструктор", с самого начала не имеющий фиксированных границ.
Теоретическая возможность "размотки" вроде и не отобрана, но фактически она уже вряд ли работает.
А чтение становится задачей, родственной чтению "Войны и Мира" - ты должен изучить французский язык до того, как начать чтение романа, написанного на русском.
Причем французских языков в тексте встретится столько, сколько независимых подмножеств аннотаций вздумается использовать писателю.
И, в отличие от современных изданий собственно "Войны и Мира", в примечаниях перевода ни с какой версии французского ты не найдешь.
Мое мнение состоит в том, что это ведет к фактической нечитаемости программистского шедевра.

С другой стороны, собственно код становится предельно компактным и бессодержательным.
Use old plain java object, Luke.
Только не забудь поставить правильную аннотацию. Тогда твой object внезапно оживет и шикарно отработает.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094666
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
А самое главное, что те, кто пытаются сделать "следующий этап за Декларативным программированием", полностью отсутвует понимание, что же они хотят получить в результате. Поэтому рождаются какие-то недоношенные огрызки. Вроде и идея - неплохая, но идея + как сделано - за гранью добра и зла.

Те же самые геттеры/сеттеры. Взять Delphi. Взяли и не побоялись ввести принципиально новую констуркцию в язык property (если я не ошибаюсь). Снаружи - переменная (работаешь простыми присваиваниями, без всякой порнографии с геттерами/сеттерами), внутри, если нужно переопределить поведение по set/get, можешь навесить свой setter, getter. Можешь, если надо. А если не надо, то ничего и не делаешь.

Что в Java... нам наконец (слава богу, слава яйцам) надоели простыни set'ов, get'ов, мы сделали анатоации! Ура! но сеттеры, геттеры мы трогать не будем, будем их генерить, захломлять код, а в JIT оптимизаторе разоптимизировать обратно. 2021 год. У Вас в квартире груды мусора и дурной запах - не волнуйтесь, мы наконец придумали для Вас диван, под которым теперь мусора будет не видно. В следующей версии, мы обещаем добавить духи, что бы избавиться от запаха.

IMHO


Kotlin же :-)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094668
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Карл Баллод. Государство будущего... ?
Нет. Хотя сейчас я об этой работе уже знаю. Не читал. Но подход у вас несколько странный ...
Сложно отрицать прогресс в информационных технологиях, если хотя бы мельком взглянуть на историю их развития. И как профессионалу это, вроде бы, должно быть вам понятно.
Но вы, почему-то, отрицаете прогресс в материальном мире, хотя всё наше ИТ целиком и полностью опирается на результаты этого прогресса.

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

С моей кочки зрения именно эти два новшества стали ключевыми, хотя за девятнадцатый век много чего создали и усовершенствовали.
Проблема в том, что капитализм невозможен без рынка труда. А рынок труда это средство экономического принуждения к труду.
Вот и получается, что можно жить комфортно, но требуется искусственно ухудшать жизнь людей или "вывешивать" иллюзорные "морковки" роскоши, за которыми будут бегать "элитарии".

Как следствие - капитализм мечется между буржуазной диктатурой (работают под страхом смерти) и базовым доходом (создаём и кормим паразитов).
Как побочный эффект, цветут и пахнут всякие гнусности, которые объясняют (и "быдлу" и самим себе) - зачем, собственно, нужна вся эта бессмылица.
А глупо это просто потому, что эффективность двух экономических систем уже проверена в прямом и открытом противостоянии Великой Отечественной войны и в ходе предвоенной подготовки двух государств.

P.S.
Социальная инфраструктура государства не может зависить от предпринимательских способностей и частной инициативы. Просто потому, что здоровье и жизнь большинства не может быть игрушкой меньшинства.
А ещё эта инфраструктура должна быть катастрофоустойчивой и надёжно работать даже в условиях частичного разрушения. Что создаёт гигантскую рыночную цену такой системы, а значит - исключает существование всеобщего платёжеспособного спроса.

Каждое из этих обстоятельств (а есть и другие) - весомо само по себе, но вместе они просто не оставляют выбора: "Социализм или варварство".
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094670
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
в рамках терминологии, связанной с метапрограммированием, я бы так сформулировал то, что мне не нравится в аннотациях:
одно дело, когда связанные с метапрограммированием возможности четко и ясно ограничены прямым включением в синтаксис языка компактного набора возможностей.
Вы не можете рассматривать аннотации, как часть языка.
Их приходится рассматривать как предельно компактную систему библиотечных вызовов, которая маскируется под элементы языка.
Проблема именно в этом: нельзя использовать библиотеку без понимания принципов её организации.
И речь вовсе не о коде, который создают эти аннотации - важна их семантика. Смысл, а не конкретное содержание.
Аннотации это аналог "плюсатых" шаблонов - "магия", которая "прикидывается" частью языка.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094677
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
Мое мнение, что достаточно простой (ранее) и понятный (ранее) язык преврашают в помойку, где без полбутылки не разберешься.
хорошо сказано, согласен полностью!
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094686
Leonid Kudryavtsev
Мое мнение, что достаточно простой (ранее) и понятный (ранее) язык преврашают в помойку, где без полбутылки не разберешься.

Уже расказывал, что пришлось работать с программой где части были написаны на Cobol'е. Даже книжек читать и покупать нам не потребовалось. Все и так понятно. Ньюансы синтаксиса пофиг, но что делает программа, что с чем складывает, что от чего вычитает и в каких случаеях какие ошибки говорит - было понятно. Для этого нужно иметь хоть какой-то опыт в программирование + знать пару слов по английски (for, if, while, integer etc...)

На данном форуме иногда постят вопросы/код на Scala, стримах и так далее. Вроде и код 5-10 строк, но что он делает - х.з. Реально нужно бежать в магазин и брать полбутылки

Современная Java, прости господи, начинает "по понятности" напоминать Perl или Forth. Фиг что поймешь, зато мало буковок. Смотрите какой простой (ха-ха-ха) и емкий язык мы придумали!
Интересно, что до того как эти возможности начали появляться в языке, очень многие переходили на другие JVM языки типа Groovy, Scala, Closure. Т.е. само Java сообщество требовало что-то короткое, функциональное. Что, как мне кажется, было еще хуже. Одно дело - изучить уродливые стримы, другое - целую новую платформу (а эти языки идут со своим доп SDK). Так что один плюс от нововведений есть - все хотя бы вернулись на Java. На Groovy в принципе все резко забили, про Scala слышно только отголоски, ну а Closure не успел взлететь. Вот только Kotlin укрепился, но хотя бы в Enterprise он не быстро проникает.

Так что с этой точки зрения всякие новшества в Java были полезными. Но язык конечно обрастает жирком, все сложней новичков обучать..

А вот SpringBoot.. Конкурентов у спринга не было, зачем было это придумывать - не понятно. В итоге якобы насколько простая штука как просто DI превратился во что-то что нужно изучать . И это настолько сложно дебажить.. Я вот уже 6ой год пишу проект который начали на SpringBoot'e, и всякий раз когда приходится что-то кастомизировать (выключить спринг бутовое и написать свое или внедриться в механизм) - приходится заниматься глубоким дебагом. Что-то, что раньше делалось за пару минут - на это иногда приходится тратить по несколько часов..

А малыши вообще не понимают что там происходит. Раньше-то бины явно торчали, можно было глазками пробежаться. А счас они просто вслепую копируют аннотации со StackOverflow. И у них нет вариантов постепенно обучаться. Мол, увидел что-то незнакомое - разобрался что это. Потому как ты даже не видишь что эта аннотация подключает, даже не знаешь о том что что-то включено. Если на SO посмотреть - там счас в большинстве вопросов про спринг либы стоит "springboot" тэг. Т.е. народ даже не понимает про какой кусок спринга они спрашивают - они думают что это все просто спрингбут.

Один из своих более новых проектов начал на XML конфигурации без package scan'ов. Боже как это приятно видеть, все так просто, вообще времени не уходит ^_^
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094697
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
А вот SpringBoot.. Конкурентов у спринга не было, зачем было это придумывать - не понятно. В итоге якобы насколько простая штука как просто DI превратился во что-то что нужно изучать . И это настолько сложно дебажить.. Я вот уже 6ой год пишу проект который начали на SpringBoot'e, и всякий раз когда приходится что-то кастомизировать (выключить спринг бутовое и написать свое или внедриться в механизм) - приходится заниматься глубоким дебагом. Что-то, что раньше делалось за пару минут - на это иногда приходится тратить по несколько часов..

А малыши вообще не понимают что там происходит. Раньше-то бины явно торчали, можно было глазками пробежаться. А счас они просто вслепую копируют аннотации со StackOverflow. И у них нет вариантов постепенно обучаться. Мол, увидел что-то незнакомое - разобрался что это. Потому как ты даже не видишь что эта аннотация подключает, даже не знаешь о том что что-то включено. Если на SO посмотреть - там счас в большинстве вопросов про спринг либы стоит "springboot" тэг. Т.е. народ даже не понимает про какой кусок спринга они спрашивают - они думают что это все просто спрингбут.
А я всегда говорил - логику надо на PL/SQL писать, прямо в БД. Там за 20 лет ничего не поменялось, всё так же просто и понятно
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094708
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev

А малыши вообще не понимают что там происходит. Раньше-то бины явно торчали, можно было глазками пробежаться. А счас они просто вслепую копируют аннотации со StackOverflow. И у них нет вариантов постепенно обучаться. Мол, увидел что-то незнакомое - разобрался что это. Потому как ты даже не видишь что эта аннотация подключает, даже не знаешь о том что что-то включено. Если на SO посмотреть - там счас в большинстве вопросов про спринг либы стоит "springboot" тэг. Т.е. народ даже не понимает про какой кусок спринга они спрашивают - они думают что это все просто спрингбут.

+1 Добавлю что в нашем It мире многие процессы идут не от теории. А от практики применения. Тоже самое было с XHTML/Html5.
И с xml/json. Побеждает не правльное и концептуальное а "херак-херак и бизнес доволен что фича зашла в течение 1 спринта".
В этом есть некая магия наподобие самоорганизующихся простейших систем. И разраб который копи-пастит со стека аннотацию
- ведет себя как клетка в клеточном автомате. Удобно двигаться туда? Минимум мозговых затрат? - Двигаемся. И никто архитектурных
вопросов просто не ставит. Некому. И нет аудитории. Что говорить об миллионах фрилансеров которые работают сами на себя
и решают задачи сиюминутно.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094733
ra-001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorDЧто нужно изменить в среде разработки (intellij idea) ?
В idea-e - ничего, осиль:
https://ru.wikipedia.org/wiki/Fluent_interface
должна быть версия либы, совместимая с используемой, подключи. посмотри help.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094744
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

В корне не согласен. "Херак, херак и бизнес доволен" это было бы хорошо. Но побеждает НЕ это. Предыдущие лет 15, такое чувство, что побеждали хайп, стартапы, реклама и доклады на конференциях. Смотрите какую мы херню придумали, что с ней делать еще не придумали, но зато IPO на 1 млрд долларов провели (на конференциях конечно все немного по другому рассказывают).

После чего большой бизнес (Oracle, MS etc.) посмотрели на это.... подумали, какие мы тупые, а мы зачем-то "херак, херак" занимаемся... и двинулись в то же направления, похерев весь работающий "херак, херак" к чертям собачьим. (Oracle Forms, FoxPro etc..etc...). После этого на протяжении 10-15 лет, кроме майнстрима и хайпа вообще ничего не осталось. Или малопонятный хайп или остывшее говно мамонтов. В общем, выбирайте одно из двух.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094752
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Bashkyrtsev

Один из своих более новых проектов начал на XML конфигурации без package scan'ов. Боже как это приятно видеть, все так просто, вообще времени не уходит ^_^
у меня наоборот, после xml конфига, попробовал springboot, ощущение, что надо программировать, программировать и еще раз программировать... А я ленивый, в конфиг bean наколотил за пару минут и все работает, иногда NP++ достаточно для внесения изменений
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094753
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mayton,

В корне не согласен. "Херак, херак и бизнес доволен" это было бы хорошо. Но побеждает НЕ это. Предыдущие лет 15, такое чувство, что побеждали хайп, стартапы, реклама и доклады на конференциях. Смотрите какую мы херню придумали, что с ней делать еще не придумали, но зато IPO на 1 млрд долларов провели (на конференциях конечно все немного по другому рассказывают).

После чего большой бизнес (Oracle, MS etc.) посмотрели на это.... подумали, какие мы тупые, а мы зачем-то "херак, херак" занимаемся... и двинулись в то же направления, похерев весь работающий "херак, херак" к чертям собачьим. (Oracle Forms, FoxPro etc..etc...). После этого на протяжении 10-15 лет, кроме майнстрима и хайпа вообще ничего не осталось. Или малопонятный хайп или остывшее говно мамонтов. В общем, выбирайте одно из двух.

Я-же не говорил что одобряю это. Я просто констатировал что сегмент где работали физики и математики
расширился. И хлынули туда экономисты, торговцы и гуманитарии и различного рода чудики и сумашедшие.
По разным причинам. По деньгам например. Или просто по своему интравертному складу характера.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094756
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще, для хранения мета данных в pojo (entity) аннотации подходят очень хорошо, тупа хранить наименование свойства, формат вывода и прочие описания для валидации, формирования view слоя и т.д.
Внедрение функциональности через аннотации - так себе идея (имхо).
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094759
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pojo в Java исторически имеют наиболее странный и неприглядный вид со стороны стороннего
разработчика который java не знает. И фреймворки наподобие Lombok решают проблему
"заметая" грязь под ковёр.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094778
am_sasa
Stanislav Bashkyrtsev

Один из своих более новых проектов начал на XML конфигурации без package scan'ов. Боже как это приятно видеть, все так просто, вообще времени не уходит ^_^
у меня наоборот, после xml конфига, попробовал springboot, ощущение, что надо программировать, программировать и еще раз программировать... А я ленивый, в конфиг bean наколотил за пару минут и все работает, иногда NP++ достаточно для внесения изменений
Я тоже ленивый, читать/дебажить часами исходники спринга не хочу и использую менее автомагический подход.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094810
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
но зато IPO на 1 млрд долларов провели
Ну так это и есть "бизнес доволен".
IPO это инвестиции, которые позволяет получать (рисовать) прибыль, даже работая в убыток.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094821
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
... И фреймворки наподобие Lombok решают проблему
"заметая" грязь под ковёр.

интересное кино.

Вы дали нам безумный многословный синтаксис, закакали мозги корявыми представлениями о том кто такая "инкапсуляция"
и зачем её едят именно таким извращённым образом, объяснили, почему идеально хорош бессмысленный код, а теперь мы должны взять ломбок чтобы всего этого не видеть при помощи аннотаций, которые бессмысленность за нас подставят?

Да у нас теперь нервный тик начнется, если наш отравленный вами глаз этого счастья видеть не будет...
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094987
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
А вот SpringBoot.. Конкурентов у спринга не было, зачем было это придумывать - не понятно. В итоге якобы насколько простая штука как просто DI превратился во что-то что нужно изучать . И это настолько сложно дебажить.. Я вот уже 6ой год пишу проект который начали на SpringBoot'e, и всякий раз когда приходится что-то кастомизировать (выключить спринг бутовое и написать свое или внедриться в механизм) - приходится заниматься глубоким дебагом. Что-то, что раньше делалось за пару минут - на это иногда приходится тратить по несколько часов..


Попробуйте другие фреймворки. :-)
Micronaut, Microprofile и т.д.

Я попробовал...
При всей монструозности Spring/SpringBoot он всё-таки гибче чем новые "простые"/"легкие" DI-фреймворки.

У меня лично всё "странное" со SpringBoot связано с Hibernate.

Stanislav Bashkyrtsev

А малыши вообще не понимают что там происходит. Раньше-то бины явно торчали, можно было глазками пробежаться. А счас они просто вслепую копируют аннотации со StackOverflow. И у них нет вариантов постепенно обучаться. Мол, увидел что-то незнакомое - разобрался что это. Потому как ты даже не видишь что эта аннотация подключает, даже не знаешь о том что что-то включено. Если на SO посмотреть - там счас в большинстве вопросов про спринг либы стоит "springboot" тэг. Т.е. народ даже не понимает про какой кусок спринга они спрашивают - они думают что это все просто спрингбут.

Один из своих более новых проектов начал на XML конфигурации без package scan'ов. Боже как это приятно видеть, все так просто, вообще времени не уходит ^_^


Нафиг XML.
Конфигурационные классы наше всио!!!!

Меня ещё с версии Spring 3 раздражали XML-файлы, для создания контекста.
А навигация по длинной портянке XML-файла это то ещё удвольствие.
Плюс SPEL - это жесть.

А в конфгиурационных классах можно логику создания бинов делать как хочешь.
Плюс можно насоздавать этих конфигурационных файлов можно под любой чих.
Включая/выключая их по своей извращенной логике.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40094988
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
am_sasa
пропущено...
у меня наоборот, после xml конфига, попробовал springboot, ощущение, что надо программировать, программировать и еще раз программировать... А я ленивый, в конфиг bean наколотил за пару минут и все работает, иногда NP++ достаточно для внесения изменений
Я тоже ленивый, читать/дебажить часами исходники спринга не хочу и использую менее автомагический подход.


Зачем?!
Обычно всю логику создания бина можно описать в конфигурационном классе.
Даже без всяких аннотаций.
Точнее нужна пара:
@Configuration и @Bean

А далее дебажишь только свой код.
<:o)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095001
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С моей точки от зрения, ценность конфигов (xml, yaml, props) в том что вы можете вносить изменения без переборки проекта. Это удобно для эксплуатации.

Любой девопс после консультаций с вами удаленно сможет поправить какой-то косяк.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095003
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
С моей точки от зрения, ценность конфигов (xml, yaml, props) в том что вы можете вносить изменения без переборки проекта. Это удобно для эксплуатации.

Любой девопс после консультаций с вами удаленно сможет поправить какой-то косяк.
Сразу видно опытного прогера!!! Именно для этого (правка, добавление функционала без пересборки) и сидим на XML конфигах, программировать не надо)))
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095004
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
С моей точки от зрения, ценность конфигов (xml, yaml, props) в том что вы можете вносить изменения без переборки проекта. Это удобно для эксплуатации.


Если насчет конфигов - согласен.
То насчет приложения и создания бинов - нет.
С учетом CI/CD и микросеврисной архитектуры, то поменять код не сложнее, чем поменять конфиги.

Т.к. конфиги тоже надо тестировать. :-)

mayton

Любой девопс после консультаций с вами удаленно сможет поправить какой-то косяк.


Или добавить кучу новых.
Конфиги тестировать сложнее, чем код.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095007
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Девопс в состоянии сам протестировать пароль или токен. Тем более что на этом уровне уже некого больше призвать.

Впрочем мы скатились в конкретику. Я просто хотел сказать что сама идея переноса конфигов бинов из xml в java DSL несёт в себе технический долг. И его объем ещё
Никто не посчитал.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095010
mad_nazgul
Stanislav Bashkyrtsev
А вот SpringBoot.. Конкурентов у спринга не было, зачем было это придумывать - не понятно. В итоге якобы насколько простая штука как просто DI превратился во что-то что нужно изучать . И это настолько сложно дебажить.. Я вот уже 6ой год пишу проект который начали на SpringBoot'e, и всякий раз когда приходится что-то кастомизировать (выключить спринг бутовое и написать свое или внедриться в механизм) - приходится заниматься глубоким дебагом. Что-то, что раньше делалось за пару минут - на это иногда приходится тратить по несколько часов..


Попробуйте другие фреймворки. :-)
Micronaut, Microprofile и т.д.

Я попробовал...
При всей монструозности Spring/SpringBoot он всё-таки гибче чем новые "простые"/"легкие" DI-фреймворки.
Сам я использую Spring IoC где-то на уровне 2.5.6-3.0.0 версий. Меня вполне устраивает.

mad_nazgulНафиг XML.
Конфигурационные классы наше всио!!!!

Меня ещё с версии Spring 3 раздражали XML-файлы, для создания контекста.
А навигация по длинной портянке XML-файла это то ещё удвольствие.
Плюс SPEL - это жесть.

А в конфгиурационных классах можно логику создания бинов делать как хочешь.
Плюс можно насоздавать этих конфигурационных файлов можно под любой чих.
Включая/выключая их по своей извращенной логике.Я в целом не то чтоб ярый противник Java контекстов, но XML мне нравится больше:
1. Он намного короче как минимум из-за возможности autowiring'a. В Java бинах если есть конструктор, то тут уж компиляция потребует их вызвать явно. У меня счас в XML проекте почти все бины - однострочники. Properties конечно все равно приходится явно передавать в конструкторы, но таких классов не так уж много, да и все равно получается чаще всего короче чем в Java конфиге.
2. Они не перемешиваются с основным кодом. Если я хочу менять контекст, то я знаю что это XML и он хорошо выделяется на фоне классов. С Java конфигурацией меня раздражает то что сначала вбил пару буков для поиска, а потом еще в списке нужно искать контексты среди обычных Java классов.

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

А вот аргумента что XML можно менять без перекомпиляции я никогда не понимал.. Если мы собрали JAR, то мы не будем его распаковывать чтоб менять бины. После сборки мы уже ничего внутри менять не будем.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095017
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
..он хорошо выделяется на фоне классов.

Очень точно подмечено.

Мне вообще кажется что должна быть какая-то наука которая объясняет нам почему русскому разработчику
удобнее читать BASIC чем 1С язык. Вот мне кажется что зрение на разных уровнях восприятия
доносит мозгу контекст. Даже без чтения кода я уже глазами вижу где конфигурация и где логика.

В случае с 1С это конечно вопрос спорный. Но вот я так себе это вижу. Мне даже жаль англичан.
Их английские комментарии в коде мало чем отличимы от кода. Особенно для SQL, COBOL e.t.c.
бизнес языков. Нужно обладать литературным талантом чтоб писать что-то яркое на фоне
ключевых слов.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095067
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Bashkyrtsev

А вот аргумента что XML можно менять без перекомпиляции я никогда не понимал.. Если мы собрали JAR, то мы не будем его распаковывать чтоб менять бины. После сборки мы уже ничего внутри менять не будем.
в общем случае да, в конкретном - этап разработки, закидываем все в томкет директорию (без war), для перегрузки спринга делаем кнопочку (только для разраба) и не паримся. Потом обратно и делаем war. Скорость разработки увеличивается в "разы", ну или существенно.

Если захочешь попробовать, то вот перезагрузка типа jsp
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<%
    final Logger logger = LoggerFactory.getLogger("REFRESH");
    logger.info("начало перезагрузки приложения");

    StringResourceLoader.clearRepositories();

    logger.info("перезагрузка контейнера 'Spring'");
    XmlWebApplicationContext xtx =
            (XmlWebApplicationContext) WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
    xtx.refresh();
    logger.info("конец перезагрузки приложения");

    response.sendRedirect(request.getContextPath() + "/" + "тута куда");
%>
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095074
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется тут дело даже не в механике перезагрузки. Представте пятница. Вечер. (Вы в четверг выкатили релиз).
И вы уже в баре. Берете в руки бокал пшеничного. И тут ... херак. На телефон падает какой-то prod issue. Вы читаете
стектрейс. Фикс - фигня. Заменить точку на запятую. Но блин... открыть крышку ноутбука? Связаться с этим?
Испортить вечер? Есть вариант позвонить дежурному индюку. И растолковать ему на ломаном
саксонском - "Муниш... реплейс факен дот симбол виз факен комма... гуд лак энд хев е найс ивнинг..."

Потом снова взять в руки бокал. Вечер подпорчен но еще не совсем. Жить можно.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095100
Я вот еще вспомнил одну киллер-фичу XML: ему плевать на модификаторы доступа. Я могу объявлять классы package private (а это частая ситуация с feature by package ) и описать все бины в одном или нескольких XML контекстах.

В случае же Java конфига мне прийдется в каждый пакет добавлять по спринг контексту, что увеличит их кол-во во много-много раз.
am_sasaэтап разработки, закидываем все в томкет директорию (без war), для перегрузки спринга делаем кнопочку (только для разраба) и не паримсяБыл кстати какой-то инструмент для hot redeploy'a который умел и спринг контекст рефрешить.. Забыл как он называется. Правда он денежку стоил.

Это кстати сильно ли быстрей? Мне кажется что времени больше всего отнимает как раз инициализация спринг контекста. Хотя может рефреш как-то быстрей работает..
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Технология OSGI позволяет редеплоить по горячему. Ну по крайней мере делать такой себе blue-green deploy.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095113
Не, этот без изменений кода умеет, вот он: JRebel . Я правда с ним игрался последний раз лет 10 назад.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095175
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Я в целом не то чтоб ярый противник Java контекстов, но XML мне нравится больше:
1. Он намного короче как минимум из-за возможности autowiring'a. В Java бинах если есть конструктор, то тут уж компиляция потребует их вызвать явно. У меня счас в XML проекте почти все бины - однострочники. Properties конечно все равно приходится явно передавать в конструкторы, но таких классов не так уж много, да и все равно получается чаще всего короче чем в Java конфиге.


Мне удобнее когда что-то падает на этапе компиляции, а не при поднятии контекста, когда я забыл передать нужный класс/бин.
Аннотациями @Component/@Service/@Autowired стараюсь не пользоваться


Stanislav Bashkyrtsev

2. Они не перемешиваются с основным кодом. Если я хочу менять контекст, то я знаю что это XML и он хорошо выделяется на фоне классов. С Java конфигурацией меня раздражает то что сначала вбил пару буков для поиска, а потом еще в списке нужно искать контексты среди обычных Java классов.


Если всё бины создавать через @Configure-классы, то вся "грязь" DI в них и остается.

Stanislav Bashkyrtsev

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


Ну довольно частый case.
Когда нужно создать бин с Map'ой бинов, по какому-то ключу.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095177
mad_nazgul
Stanislav Bashkyrtsev
Я в целом не то чтоб ярый противник Java контекстов, но XML мне нравится больше:
1. Он намного короче как минимум из-за возможности autowiring'a. В Java бинах если есть конструктор, то тут уж компиляция потребует их вызвать явно. У меня счас в XML проекте почти все бины - однострочники. Properties конечно все равно приходится явно передавать в конструкторы, но таких классов не так уж много, да и все равно получается чаще всего короче чем в Java конфиге.


Мне удобнее когда что-то падает на этапе компиляции, а не при поднятии контекста, когда я забыл передать нужный класс/бин.
Аннотациями @Component/@Service/@Autowired стараюсь не пользоваться
Ну да, но учитывая что почти все можно autowire'ить (без аннотаций, в XML), то в голову приходит только один юз кейс когда падает контекст - забыл бин добавить. Но опять же, кажется что это мелочь по сравнению с неудобствами Java конфига (для меня).
Stanislav Bashkyrtsev

2. Они не перемешиваются с основным кодом. Если я хочу менять контекст, то я знаю что это XML и он хорошо выделяется на фоне классов. С Java конфигурацией меня раздражает то что сначала вбил пару буков для поиска, а потом еще в списке нужно искать контексты среди обычных Java классов.


Если всё бины создавать через @Configure-классы, то вся "грязь" DI в них и остается.Тут не понял о чем речь.
Stanislav Bashkyrtsev

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


Ну довольно частый case.
Когда нужно создать бин с Map'ой бинов, по какому-то ключу.Частый? Хм.. Мне такое 1-2 раза в жизни приходилось делать, но в XML это делается на ура https://stackoverflow.com/a/19437161/886697][1] . Во всяком случае пока ключ не динамический.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095182
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Component scan кстати создает накладные расходы для server-less приложений.
Мы его заменяли на явные указания зависимостей.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095402
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,

@Configure классы позволяют спрятать все кишки Spring'а в них.
Так чтобы коде бизнес-логики его не было.
Как минимум в сервисном слое - точно.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095405
mad_nazgul, а что, в XML это не так?
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095642
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
mad_nazgul, а что, в XML это не так?


Тут дело в удобстве.
Во первых создание контекста находиться в коде.
Это дополнительная проверка на этапе компиляции.
Меньше шанс, что что-то сломается в рантайме.
Легче поиск по коду.
Небольшие дополнительные плюшки создания своего starter.
Не надо учить SPEL и разбираться в километровых портянках XML. :-)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095652
mad_nazgul, многие из этих пунктов мы уже обсудили выше.
mad_nazgulВо первых создание контекста находиться в коде.В смысле описание бинов? Ну да, в этом и заключается Java конфигурация. Только это не плюс и не минус, а просто констатация факта.
mad_nazgulЭто дополнительная проверка на этапе компиляции.Это да. И это как плюс (проверка), так и минус (потому как не позволяет autowiring).
mad_nazgulМеньше шанс, что что-то сломается в рантайме.Да.
mad_nazgulЛегче поиск по коду.Не замечал. IntelliJ находит везде одинаково, вот только с XML сразу видно что это про контекст, а не про обычный Java код. Да и поиск самих контекстов сложней если они в Java. Т.е. по обоим пунктам выигрывает XML.
mad_nazgulНебольшие дополнительные плюшки создания своего starter.Этого не знаю. Но наверно большинству все равно по барабану.
mad_nazgulНе надо учить SPEL и разбиратьсяНу если считать это проблемой.. Ну ладно. Хотя SPEL все равно остается для @Value.
mad_nazgulв километровых портянках XML. Это миф. XML компактней Java конфигурации.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095756
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
потому как не позволяет autowiring

не уверен, что понял смысл написанного. что ты понимаешь, под autowiring и в каком плане java based конфиги его не позволяют?

Stanislav Bashkyrtsev
Хотя SPEL все равно остается для @Value.

да, в минимальном объеме все равно полезно знать, еще как минимум в security полезно, если сложная логика
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095770
chpasha
Stanislav Bashkyrtsev
потому как не позволяет autowiring

не уверен, что понял смысл написанного. что ты понимаешь, под autowiring и в каком плане java based конфиги его не позволяют?
Ну если есть конструктор с параметрами, то в Java конфигурации не выйдет объявить бин и не описать параметры явно - компиляция не позволит. В XML конфигурации же просто ставим autowiring=true на весь XML, объявляем бин не описывая его конструктор - ну и все, дальше он по типу параметров найдет нужные бины. А там где надо - мы можем описать параметры явно.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095786
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Ну если есть конструктор с параметрами, то в Java конфигурации не выйдет объявить бин и не описать параметры явно

ты про такое что ли?
Код: java
1.
2.
3.
4.
5.
6.
7.
@Component
class MyBean {

     //или с lombok RequiredArgsConstructor + private final поля
      public MyBean(SomeDependency dep1, SomeOtherDependency dep2) {}

}



тут конфигурация вовсе не нужна - заинжектится либо по типу, либо если несколько реализаций, по имени бина dep1, dep2. можно еще помочь с Qualifier явно, но не обязательно. Единственное что без явного @Autowired идея не опознает как точку инжекции (пока не умеет она такого к сожалению, потому желательно налепить формально ненужный @Autowired на параметры)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095787
chpasha, нет, это ты вообще package scan показываешь. Он не имеет никакого отношения к обсуждению XML vs Java.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095789
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле, ты говоришь "объявляем бин не описывая его конструктор"
т.е.
Код: xml
1.
<bean name="myBean" class="MyBean"/> 


тоже самое мы делаем без java based configuration просто объявив класс Component или Service. Или какой случай имеется в виду? Напиши пример
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095795
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P. S. или ты имеешь в виду случай, когда MyBean не наш и его нужно только через java based config создавать?
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40095799
chpasha , ты смешиваешь разные концепции:
1. Есть Java vs XML config
2. И есть package scan, который можно запустить хоть из Java, хоть из XML конфига

Мы обсуждаем вопрос о том что лучше если мы не используем package scan (сам я его в новых проектах вообще не использую, в старых - в перемешку). В случае XML конфигурации при описывании бина я не обязан описывать параметры конструктора:
Код: xml
1.
2.
3.
4.
5.
<beans ...
       default-autowire="constructor">

    <bean class="blah.BlahService"/>
</beans>

В случае Java конфигурации будет что-то такое:
Код: java
1.
2.
3.
4.
    @Bean
    BlahService BlahService(@Value("blah.feed.size") int feedSize) {
        return new BlahService(blahDao(), imageDao(), feedSize);
    }

А если эти бины в разных классах, то:
Код: java
1.
2.
3.
4.
    @Bean
    BlahService BlahService(BlahDao BlahDao, ImageDao imageDao, @Value("blah.feed.size") int feedSize) {
        return new BlahService(BlahDao, imageDao, feedSize);
    }

Либо такое:
Код: java
1.
2.
3.
4.
5.
6.
7.
    @Bean
    BlahService BlahService(ApplicationContext c) {
        return new BlahService(
                c.getBean(BlahDao.class),
                c.getBean(ImageDao.class),
                c.getEnvironment().getProperty("blah.feed.size", Integer.class));
    }
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096089
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Ну если считать это проблемой.. Ну ладно. Хотя SPEL все равно остается для @Value.


Ну скажем у меня другой опыт.
Когда поднятие контекста использовался SPEL с кучей условий в зависимости от.
Как минимум для test/prod.

И IDEA не могла контекст разобрать.
Т.е. красный xml. :-)

Stanislav Bashkyrtsev

mad_nazgulв километровых портянках XML.
Это миф. XML компактней Java конфигурации.

Увы нет.
Для SprinBoot если использовать аннотации и DI через конструктор.
То можно обойтись двумя аннотациями @SpringBootApplication, @Component.

Если же использовать Конфигурационными классами.
То тремя аннотациями @SpringBootApplication, @Configuration, @Bean.
Плюс функция для создания бина.

Это если не использовать свои properties.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096098
mad_nazgulДля SprinBoot если использовать аннотации и DI через конструктор.
То можно обойтись двумя аннотациями @SpringBootApplication, @Component.Почитай что я выше ответил chpasha . Ты точно так же пытаешься приплести здесь Package Scan (@Component). Его использовать можно безотносительно того в каком виде у тебя явная конфигурация - в XML или в Java.
mad_nazgulТо тремя аннотациями @SpringBootApplication, @Configuration, @Bean.И вот описание @Bean зачастую оказывается более громоздким чем <bean>.
mad_nazgulКогда поднятие контекста использовался SPEL с кучей условий в зависимости от.
Как минимум для test/prod.Интересно было бы глянуть. Мне кажется ты как-то неправильно использовал контексты/конфиги. У нас не может быть ничего в объявлении бинов в зависимости от test/prod. Это просто конфигурация окружения - т.е. читаем свойства из конфига и передаем значения как есть в наши бины.

А если ты объявлял разные бины в зависимости от test/prod (что само по себе плохо, но иногда не избежать), то:
1. Это решается профилями, и профили неправильно называть test/prod. Более корректно их называть по названиям включаемых/выключаемых фич, типа oauth2, saml; activemq, ibmmq. И уже конфиг окружения определяет набор включаемых профилей.
2. И с профилями прийдется опять же возиться хоть в XML, хоть в Java.
3. До 3.0.0 не было профилей, но в XML эта проблема все равно решалась просто: выносим отличающиеся бины в отдельный контекст и делаем импорт с переменной: <import resource="${mq}-context.xml" /> .

Я вообще с трудом могу вспомнить те разы когда SPEL приходилось применять кроме как передать свойство или это свойство домножить на что-то ( #{some_prop_millisec * 1000} ).

PS: интересно что многие туториалы по SpringBoot как раз пропагандируют неправильное использование профилей. Во-первых, они прям в репозиторий с приложением записывают эти конфиги, во-вторых используют профили просто как набор свойств. Т.е. вообще не то для чего их придумывали..
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096162
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Почитай что я выше ответил chpasha . Ты точно так же пытаешься приплести здесь Package Scan (@Component)
это ты пытаешься приплести package scan. Configuration - это тоже Component, просто особенный - Configuration заворачиваются в CGLIB, а Component нет, но по сути одно - частный случай другого. Например Component удовлетворяет проверке на isConfigurationCandidate и потому, например, работает такое

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@Component
public static class Config {
    @Bean
    public SimpleBean simpleBean() {
        return new SimpleBean();
    }

}
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096213
chpasha , я не понимаю к чему ты клонишь. Ты пометил Configuration класс с помощью @Component, это какую-то проблему решает?

А тут ты явно описывал объявление @Component & @Service, т.е. это однозначно про Package Scan:
chpasha
В смысле, ты говоришь "объявляем бин не описывая его конструктор"
т.е.
Код: xml
1.
<bean name="myBean" class="MyBean"/> 


тоже самое мы делаем без java based configuration просто объявив класс Component или Service. Или какой случай имеется в виду? Напиши пример
Опиши полноценно какую мысль ты пытаешься донести.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096231
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
это какую-то проблему решает?

кстати решало - из-за cglib @Configuration не работал в подписанных джарниках, но мы конечно не об этом.

Stanislav Bashkyrtsev
Опиши полноценно какую мысль ты пытаешься донести.

что преимущество, описанное тобою имеет смысл только для кода, который мы не контролируем, а в остальных случаях упомянутый тобою вариант без конструктора является аналогом объявления @Component/@Service с @Autowired конструктором/сеттерами или final полями
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096237
chpasha
Stanislav Bashkyrtsev
Опиши полноценно какую мысль ты пытаешься донести.

что преимущество, описанное тобою имеет смысл только для кода, который мы не контролируем, а в остальных случаях упомянутый тобою вариант без конструктора является аналогом объявления @Component/@Service с @Autowired конструктором/сеттерами или final полями
Ну т.е. речь все-таки о package scan :) Я, наверно, 3й раз повторю - он не имеет никакого отношение к Java конфигурации, он возник в 2.5 когда Java конфигурации еще даже не было .

Вообще удивительно насколько этот, казалось бы, простой момент всех путает. Я когда провожу курсы вижу, что очень многие (независимо 1 год поработали или 10) точно так же путаются и долгое время не могут поверить что Package Scan не имеет отношение к Java @Configuration. Эт прям какая-то установка, которую не сломать за один раз. Видимо это потому что аннотации @Component мы ставим в Java коде.
chpashaчто преимущество, описанное тобою имеет смысл только для кода, который мы не контролируемЯ в последних своих проектах не используют Package Scan вообще - ни для своего кода, ни для внешнего. Не вижу проблем объявить бин явно. Советую и другим использовать меньше магии и больше явного кода.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096239
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
о package scan

я кажется понял, что ты на самом деле хочешь сказать ;)

есть xml-based configuration, annotation-based configuration и java-based configuration (и миксы всего со всем) - формально @Component/@Service/@Autowired относится ко второму, а не к третьему виду конфигурации (хотя технически это уже не так, поскольку и Component и Service это тоже конфигурации, а Configuration это Component)
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096256
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Я в последних своих проектах не используют Package Scan вообще

я в данный момент как раз размышляю о преимуществах и недостатках смешивания данных подходов

Stanislav Bashkyrtsev
Не вижу проблем объявить бин явно

лишняя работа получается, как getter/setter писать, только хуже, так как те хоть автоматом можно сгенерить. но зато "конфигурация" получается только в строго отведенных местах, а не разбросана по всему коду.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096270
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
есть xml-based configuration, annotation-based configuration и java-based configuration (и миксы всего со всем) -
угу. Раньше было программирование и создание объектов конструкторами. Теперь прогеры стали стали конфигурастами как 1Сники. Там 1С конфигурация замещает программирование.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096350
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конфигурации это еще пол-беды. Скоро будет так. Ты набираешь код. Устал. Давишь ALT+Space или
еще какую-то волшебную комбинацию. Твой исходник летит в какое-то ИИ облако. Анализируется.
Потом тебе выкидывают 3-5 вариантов как завершить исходник. Постепенно у тебя мозг разжижается.
Думать не надо. Остается лениво перебирать варианты. ИИ, как сомелье (вспомнил Пелевина), просто
предлагает тебе коробочные решения.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096362
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Постепенно у тебя мозг разжижается

аналогия понятна, но от написания конструкторов и ручного освобождения памяти у тебя прокачивается не мозг, а пальцы на руках. Кому хочется потрахаться, тот может ваять окошки на winapi или mfc, но если окошки - это не самоцель, то берем более высокоуровневый инструмент и не тратим время. Т.е. те самые пресловутые "шашечки" vs "ехать"
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096364
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Или вопрос из серии где заканчивается Python и начинается С++? Никто не знает.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096437
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно скажу, 5 страниц ниасилил.
Возможно, автору надо поставить плагин lombok в IntelliJ IDEA.
При его отсутствии все сеттеры будут отображаться как синтаксические ошибки, даже если код нормально собирается с помощью mvn.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096449
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
mayton
Постепенно у тебя мозг разжижается

аналогия понятна, но от написания конструкторов и ручного освобождения памяти у тебя прокачивается не мозг, а пальцы на руках. Кому хочется потрахаться, тот может ваять окошки на winapi или mfc, но если окошки - это не самоцель, то берем более высокоуровневый инструмент и не тратим время. Т.е. те самые пресловутые "шашечки" vs "ехать"

Ну MFC это и есть "более высокоуровневый инструмент"

Пытался им пользоваться... не понравилось. Претензии теже, фиг поймешь, где что надо, в какой таблице какое событие описывать, что кодить во View, что в Controler'е и что в Document'е.

Для простых задач, создать окошко, нарисовать две-три кнопки, подцепить окно и диалоги - вот реально WinApi и проще и короче. Самое главное, что код ПОНЯТНЫЙ, хорошо документированный (документация на WinApi) и гарантированна надежность работы.

Проблема в том, что пытаясь упростить WinApi, для понимания которой достаточно 2-3 тоненьких книжек (в 1990-х была хорошая серия от компании Диалог) и доступ к документации reference от MS, создают библиотеки, что бы разобраться в которых и что-то начать делать, нужно прочитать до 5-7 тысяч страниц.

Например высокоуровневый фреймворк Oracle ADF. Реально, читал все книжки, 5-7 тысяч страниц. На ряд интересующих в тот момент меня вопросов - ответов даже не нашел (нужно было сделать взаимодействие ADF и кастомного JavaScript с MapView ). Сделать то сделал, по примерам: поставьте такой триггер, вызовете такую функцию, сообщение передастся. Для видимости работы - достаточно. Но например описание механики работы рендеренга страниц, описание работы бизнес компонент для работы с базой - в документации нет, места в 7 тыс. страниц не хватило.

Сложность программирования "на WinApi" подменили кажущейся простотой библиотек / FrameWork'ов, которые, на самом деле, имеют сложность в разы, а то и на порядки большую, чем низкоуровневое средство, которое они подменяют. И значительно хуже документированные, а внутренности работы часто вообще не документированы.

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

Конструктор - сложно... это же память корректно в диструкторе очищать надо. Сделаем GC... сделали.. зато похерили диструкторы. В результате вместо относительно понятного memory leak (который программист ожидает ) получили мало понятный resource leak.

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

А потом ловим глюки. В JVM добавляем еще более мало понятные ключи настройки (глубина очереди вызовов finallyze в GC) и прочее и прочее.

В результате, в реальном проекте работающем с RMI (remote method invocation), отхватываем тот же самый memory leak, которого в Java не бывает ))), и в течение нескольких месяцев пытаемся понять: толи программисты виноваты, толи настройки GC не правильные, толи оно так и должно работать. Т.к. в дампе памяти, висят гигабайты прокси от RMI, которые вроде как программисты и не создавали (оно само), должны непонятно как очищаться (дабы ссылки на данные объекты не локальные, а через RMI) и что уж совсем не понятно - что же с этим делать. Дока от GC приводит пару штук ключей, но как работают, как это мониторить, общедоступная дока нифига не описывает.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096460
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Конфигурации это еще пол-беды. Скоро будет так. Ты набираешь код. Устал. Давишь ALT+Space или
еще какую-то волшебную комбинацию. Твой исходник летит в какое-то ИИ облако. Анализируется.
Потом тебе выкидывают 3-5 вариантов как завершить исходник. Постепенно у тебя мозг разжижается.
Думать не надо. Остается лениво перебирать варианты. ИИ, как сомелье (вспомнил Пелевина), просто
предлагает тебе коробочные решения.

Что значит "скоро", оно уже есть.
Codota/Tabnine
GitHub Copilot
Правда, как в том анекдоте, такая фигня получается...
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096464
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я видел демо с Co-Pilot. Вообще не впечатлило.

Я задумался о другом. В принципе ИИ в том виде как мы его ожидаем может оказаться мертворожденным ребенком.
Или гоммункулом.

Но сама идея очень внимательного и вдумчивого описания Software Requirements или DSL прямо в коде - это
хорошая идея над которой надо подумать.

Может ИИ и не родится. Но родится новая дисциплина - техно-писательство где нужно будет просто
формально описать что ты хочешь получить на выходе.

Еще одна важная опция которую можно возложить на ИИ - это поиск ошибок, vulnerabilities, статический анализ кода.

Вот уж где человек может ошибаться - так это как раз там. Творчества мало. В основном rules. И много-
много inference.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096499
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, есть с этим очевидная проблема: если это формальное описание должно быть написано на натуральном языке, то придётся бороться со всеми его недостатками, типа нечёткости, противоречивости, неоднозначности.
Если же пытаться формализовать язык спецификации, то так, собственно и появились языки логического программирования, типа Prolog, от которого произошёл и Erlang, например.
С другой стороны есть BDD со всякими там Cucumber, которые подходят к этой проблеме с другого конца.
Но, в итоге...


Ну и, полагаю, все тут уже созрели для срача imperative vs declarative?
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096542
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Конструктор не связан с ручным освобождением памяти.
Память освобождается везде автоматом после выхода из области видимости.
А вот конструктор надо писать везде. Параметры объекту нужны хоть в XML инжекции, хоть в java конфиге.
Разница не так велика как кажется.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096571
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
В результате, в реальном проекте работающем с RMI

смотрю наболело
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096647
ra-001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid KudryavtsevНу MFC это и есть "более высокоуровневый инструмент"
Пытался им пользоваться... не понравилось. Претензии теже, фиг поймешь, где что надо, в какой таблице какое событие описывать, что кодить во View, что в Controler'е и что в Document'е.
Для простых задач, .... Самое главное, что код ПОНЯТНЫЙ, хорошо документированный (документация на WinApi) и гарантированна надежность работы.
Проблема в том, что пытаясь упростить WinApi, ...., что бы разобраться в которых и что-то начать делать, нужно прочитать до 5-7 тысяч страниц.
Например высокоуровневый фреймворк Oracle ADF. Реально, читал все книжки, 5-7 тысяч страниц. ..., описание работы бизнес компонент для работы с базой - в документации нет, места в 7 тыс. страниц не хватило.
Сложность программирования "на WinApi" подменили кажущейся простотой библиотек / FrameWork'ов, ... часто вообще не документированы.
Самое большая засада, что ....
Конструктор - сложно... это же память корректно в диструкторе очищать надо. Сделаем GC... сделали.. зато похерили диструкторы. В результате вместо относительно понятного memory leak (который программист ожидает) получили мало понятный resource leak.
Т.к. начинающий программист в лучшем случае считает, что ... и код очистки ресурсов туда пихать не надо и даже нельзя.
А потом ловим глюки. ... и прочее и прочее.
В результате, общедоступная дока нифига не описывает.
Лень, в Высшей школе учился, был такой предмет как марксистко-ленинская философия ? Нет - Переходи в манагеры.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096729
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl, я думаю что мы сейчас ожидаем рождения нового языка.

Языка описания требований. Настолько формального что он сможет претендовать на DSL.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096733
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
DocAl, я думаю что мы сейчас ожидаем рождения нового языка.

Языка описания требований. Настолько формального что он сможет претендовать на DSL.


Уже было. Рождалось. Много раз. Даже есть более-менее живое.

Но продолжают "рождаться" и продолжаем "ожидать"
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096739
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... чтож. Запасёмся оптимизмом.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096740
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Языка описания требований.

Ладно с языком. Требования даже на нормальном русском/английском и то сложно описывать. Знаю:

Oracle AIM
RUP

Если говорить об описании

UML

Но не взлетает. Если взлетает, то летит низенко-низенко хотя и переводит тонны денег

но вот сейчас появились анотации... и заживем!
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096743
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонид. Нет. Ну это вообще не про это. Между UML, RUP и кодом существует пропасть.

И вот я говорю о том языке который эту пропасть заполнит.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096748
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Уже есть
Lua предназначен для пользователей, не являющихся профессиональными программистами,...
https://ru.m.wikipedia.org/wiki/Lua
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096749
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Леонид. Нет. Ну это вообще не про это. Между UML, RUP и кодом существует пропасть.

И вот я говорю о том языке который эту пропасть заполнит.


Может пропасть и существует. Но как много людей в этой конференции реально этим пользовались? Какие успехи?

Бог с ней с пропастью. Пусть на русском бизнес-требования в структурированном виде опишут. Но нет этого

Ну и тот же UML создавался/рекламировался как средство кодогенерации. Я не пользовался, не знаю. Но об эффективности результата подозреваю.

Сталкивался со множеством графорисовалок программ/бизнес процессов с помощью мышки:

Oracle BPM
Oracle Workflow
Oracle Scripting
Oracle Data Integrator (ETL)

Результаты разные. От нарисовать - повесить на стенку. Нарисовать - обработать напильником. Вплоть до нарисовать и оно даже работает в продакшене до сих пор.

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

AFAIK
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096776
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю что эта задача является краш-тестом для настоящего искусственного интеллекта.

Не создание дип-фейков. Не игра в шахматы и Го. Не узнавание фотографий товаров в китайских сайтах.

А именно - заполнение "пустоты между техническим заданием и исходным кодом".
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096810
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

После ТЗ идет техпроект).
ИИ еще до лабораторных не доросло.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096812
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ради бога.

Мы можем нарисовать 10 и 100 слоёв между ТЗ и кодом. Но это все равно
нас не приближает к решению главной задачи. Она стоит как каменная стена.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096815
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Угу. Программирование это искусство.
Особенно если for не расписано.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096833
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Если взлетает, то летит низенко-низенко
А иногда как взмоет, как взмоет! Как SQL, например Но в этом случае мы получили еще один язык для разработки.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096848
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич,
SQL это не ЯП. Это работа с множествами. Это счеты.
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096862
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Сталкивался со множеством графорисовалок программ/бизнес процессов с помощью мышки:

Oracle BPM
Oracle Workflow
Oracle Scripting
Oracle Data Integrator (ETL)

Результаты разные. От нарисовать - повесить на стенку. Нарисовать - обработать напильником. Вплоть до нарисовать и оно даже работает в продакшене до сих пор.

знакомая боль - последний год мучился с одной похожей фигней. Если очень постараться, то она даже иногда работает. В итоге задолбался, поставил ультиматум - либо делаем нормально, либо ищите другого дурака
...
Рейтинг: 0 / 0
Оптимальное написание кода. Как сделать последовательное присвоение
    #40096863
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Оракле APEX вполне для небольших проектов годен. Правда тогда java минимум)
...
Рейтинг: 0 / 0
133 сообщений из 133, показаны все 6 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Оптимальное написание кода. Как сделать последовательное присвоение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]