Size: a a a

2020 February 25

В

Вафель in rust_offtopic
Pavel
забыли как писать визиторы
Причём тут визиторы?...
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
забыли как писать визиторы
зачем писать визиторы если можно писать пм?
источник

P

Pavel in rust_offtopic
Вафель
Причём тут визиторы?...
при том, что с ними у тебя логика форматирования будет рядом с самим типом и твой Display будет не сто строк, а десять
источник

В

Вафель in rust_offtopic
Pavel
при том, что с ними у тебя логика форматирования будет рядом с самим типом и твой Display будет не сто строк, а десять
К "сожелению" у меня нет разных типов к которым бы можно было присобачить логику )
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
зачем писать визиторы если можно писать пм?
чтоб не делать методы по 100 строк и патчи на 10 файлов чтоб добавить типчик
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
чтоб не делать методы по 100 строк и патчи на 10 файлов чтоб добавить типчик
так визиторы тебя не спасут
источник

AZ

Alex Zhukovsky in rust_offtopic
еще один матч - это еще один метод AccpetBar
источник

AZ

Alex Zhukovsky in rust_offtopic
который точно так же заставляет херачить всю иерархию и менять все визиторы
источник

AZ

Alex Zhukovsky in rust_offtopic
чтобы не делать методы по 100 строк достаточно функции делать
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
чтобы не делать методы по 100 строк достаточно функции делать
вот этим функциям место рядом с самими типами, когда захочешь поменять логику форматирования 10 типов -- у тебя будут изменения рядом с ними, а не в отдельном методе, который это делает -- даёт возможность переиспользования, можно потом этот же код использовать в других местах, но самое важное, что если тебе надо поменять действие А и Б для типов В и Г, то ты просто идёшь к этим типам и смотришь на эти действия, не утруждаясь тем, какие ещё близкие типы существуют, а их может быть много
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
еще один матч - это еще один метод AccpetBar
не все визиторы про двойной диспатч
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
не все визиторы про двойной диспатч
а если тебе не нужен экзостив матч то тебе нужно делать трейт, а не энум
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
а если тебе не нужен экзостив матч то тебе нужно делать трейт, а не энум
эх, если б можно было просто итерировать по энаму...
источник

P

Pavel in rust_offtopic
а, минуточку, тебе достаточно, что все твои поля Display и тогда твой Display настолько простой, что его можно сгенерировать автоматически, даже экзостив энфорсится без лишнего текста
источник

AZ

Alex Zhukovsky in rust_offtopic
короче адт строго лучше визиторов
источник

AZ

Alex Zhukovsky in rust_offtopic
которые и являются вербозным энкодингом в ооп япах
источник

P

Pavel in rust_offtopic
а чтоб все твои типы данных были дисплей, надо всего лишь trait Unit : Display{}
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
короче адт строго лучше визиторов
почему?
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
почему?
потому что то же самое, но намного более коротко
источник

AZ

Alex Zhukovsky in rust_offtopic
и гибко
источник