русский

C# - pattern matching - many discards

7862   3 4 5 6 7 8 9 10 11 12 13 alle
AlexNek патриот04.03.24 17:50
AlexNek
NEW 04.03.24 17:50 
in Antwort Murr 04.03.24 13:12
Покажи мне хоть один

Попадался один такой, хоть 10 лет еще не прошло.

alex445 коренной житель04.03.24 17:52
NEW 04.03.24 17:52 
in Antwort Программист 04.03.24 14:42

Наф оно нужно вообще?

От куда ж мне знать? :) Но требование такое есть. Будь любезен исполнять.

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

alex445 коренной житель04.03.24 17:53
NEW 04.03.24 17:53 
in Antwort MrSanders 04.03.24 14:54
/**
 * identisch zu
 * @param adresse AdresseMitLand
 */
public Boolean identischZu(AdresseMitLand adresse) {
    return true;
}

За неанглийский код нужно убивать. Долго и мучительно.

Murr патриот04.03.24 17:57
Murr
NEW 04.03.24 17:57 
in Antwort AlexNek 04.03.24 17:50

Ну так это один владелец, не битая, не крашеная...

alex445 коренной житель04.03.24 17:57
NEW 04.03.24 17:57 
in Antwort MrSanders 04.03.24 14:54, Zuletzt geändert 04.03.24 18:02 (alex445)
Где описание параметра, где описание результата? Метод-то публичный.

Зачем разливать воду там, где и по названию метода всё понятно?


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

Murr патриот04.03.24 18:03
Murr
NEW 04.03.24 18:03 
in Antwort alex445 04.03.24 17:57

Зачем разливать воду там, где и по названию метода всё понятно?

-----

А шо, ты таки действительно не знаешь? Ну тады шмакай Ф1.

MrSanders коренной житель04.03.24 19:50
NEW 04.03.24 19:50 
in Antwort Murr 04.03.24 15:50
Как зачем? Дырку в интерфейсе затыкает..

Не угадал. Если б он метод из интерфейса имплементировал, у него аннотация @Override была бы.

AlexNek патриот04.03.24 19:57
AlexNek
NEW 04.03.24 19:57 
in Antwort Murr 04.03.24 13:26
Все всегда делается в меру понимания исполнителем и чаще всего исполнитель не интересуется архитектурой

Угу,.. исправить, исправили, сейчас работает, а что будет потом уже не интересует.

Обращаешь внимание, - а какого переписывать и так всё работает.

Murr патриот04.03.24 20:32
Murr
NEW 04.03.24 20:32 
in Antwort MrSanders 04.03.24 19:50

аннотация @Override была бы

-------

В шарпе?

Срыв покровов патриот04.03.24 21:45
04.03.24 21:45 
in Antwort MrSanders 04.03.24 14:54
До сих пор всё такое счастье тупо коммитилось, потом проходило 3 года и все сидели чесали репу а нафига ж такое сотворили, и чего хотели этим сказать.

Спасибо
Только это скорей правила оформления кода, чем coding standards. Тут старперы наверняка вперед всех.

Fleitist прохожий04.03.24 22:28
NEW 04.03.24 22:28 
in Antwort alex445 04.03.24 17:52, Zuletzt geändert 04.03.24 22:29 (Fleitist)
Проверка на лояльность? Типа, скажи ему регулярно повторять какую-нибудь ненужную фигню, чтобы отнимала время и действовала на нервы. Если согласится, значит покладистый - берём

А кто оценивает нужность / ненужность фигни? :) Безотносительно этого примера.

alex445 коренной житель05.03.24 07:47
NEW 05.03.24 07:47 
in Antwort Fleitist 04.03.24 22:28, Zuletzt geändert 05.03.24 07:47 (alex445)

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

MrSanders коренной житель05.03.24 13:54
NEW 05.03.24 13:54 
in Antwort Murr 04.03.24 20:32
В шарпе?

Чукча не читатель, понимаю. "кто на яве пишет, поймёт"

MrSanders коренной житель05.03.24 14:40
NEW 05.03.24 14:40 
in Antwort Срыв покровов 04.03.24 21:45, Zuletzt geändert 05.03.24 14:44 (MrSanders)
Только это скорей правила оформления кода, чем coding standards. Тут старперы наверняка вперед всех.

Я под "правилами оформления кода" понимаю правила вроде "строчка не длиннее 140 символов", или "сначала в классе идут публичные, потом приватные" или "после } перенос строки". Но всё равно всё это тоже Coding Convention.

Тут старперы наверняка вперед всех.

Если б. У них у каждого своё мнение. Каждый пишет как ему нравится. Но именно в оформлении без больших расхождений. Потому что разобраться не смогли как настройки форматтера в эклипсе поменять :)

Программист коренной житель05.03.24 14:40
NEW 05.03.24 14:40 
in Antwort Murr 04.03.24 20:32
В шарпе?

В шарпе

/// <inheritdoc />
Программист коренной житель05.03.24 14:45
NEW 05.03.24 14:45 
in Antwort alex445 04.03.24 17:52
Проверка на лояльность? Типа, скажи ему регулярно повторять какую-нибудь ненужную фигню, чтобы отнимала время и действовала на нервы. Если согласится, значит покладистый - берём

Все эти детали полезны для того, чтобы избежать вкусовщины.

Один вставит юзинг и забудет. Другой будет сортировать изинги по длине. Третий по алфавиту. Четвертый по каким-нибудь другим признакам. И жопа начнется, когда все эти люди начнут (а рано или поздно они начнут) форматировать уже написанное под себя.

AlexNek патриот05.03.24 19:16
AlexNek
NEW 05.03.24 19:16 
in Antwort MrSanders 05.03.24 14:40
разобраться не смогли как настройки форматтера в эклипсе поменять

А тут меньше чем надо? Один раз настроил и пользуй везде. Для шарпа сделано довольно хорошо, предполагаю, что для явы не хуже.

https://www.jetbrains.com/help/idea/configuring-code-style...

alex445 коренной житель05.03.24 19:19
NEW 05.03.24 19:19 
in Antwort MrSanders 05.03.24 14:40, Zuletzt geändert 05.03.24 19:19 (alex445)
Я под "правилами оформления кода" понимаю правила вроде "строчка не длиннее 140 символов", или "сначала в классе идут публичные, потом приватные" или "после } перенос строки". Но всё равно всё это тоже Coding Convention.

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


Person somePerson;
public Person SomePerson => somePerson ??= new()
{
    Age = 20,
    Name = _ => Age > 5 ? Person.DefaultName : "Baby",
    Condition = (Guid id, string defaultCondition) =>
    {
        var realAge = GetRealAge(id);
        return realAge > 100 ? "died" : defaultCondition;
    },
};


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


А не так давно мы ещё выяснили, что такая запись многим неприемлема - нужно расписать всё с явными геттерами, явной проверкой на налл (без оператора ??=) и без лямбд. Т.е. накатать кода где-то на полэкрана, разнесённого в три разных места класса.

alex445 коренной житель05.03.24 19:28
NEW 05.03.24 19:28 
in Antwort alex445 05.03.24 19:19, Zuletzt geändert 05.03.24 19:34 (alex445)

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

AlexNek патриот05.03.24 20:47
AlexNek
NEW 05.03.24 20:47 
in Antwort alex445 05.03.24 19:19
Тогда это хрень полная. В некоторых случаях удобно писать...

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

А теперь возьмем команду, в которой каждый пишет как хочет, насколько быстро можно будет читать код другого человека?


Ну а про приведенный код я лучше промолчу смущ

3 4 5 6 7 8 9 10 11 12 13 alle