Re[14]: Про перемещение (на примере кода)
От: Shmj Ниоткуда  
Дата: 16.04.25 12:03
Оценка: :))
Здравствуйте, rg45, Вы писали:

R>Во-вторых, а нафига было отдавать этот вектор какому-то объекту класса, если потом всё равно забирать?


Только лишь по одной причине — мы люди и нам удобнее код разбивать на функции, удобнее манипулировать объектами — так легче управлять.

Если бы не наша человечность и свойственные нашей психике паттерны восприятия — то не нужно было бы разбивать код на множество функций и создавать объекты — все бы писалось одним большим куском в машинных кодах.

R>Смотри, что получается, на входе у тебя какие-то входные данные для создания пакета, на выходе — вектор байт. То есть, это простая функция без побочных эффектов с чётким входом и выходом.


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

R>На кой хер, спрашивается, ты превращаешь это в машину состояний? Потому что в сишарп всё на классах?


Тут нет машины состояний — по прежнему просто доступ к частям массива, просто удобным образом.

R>То же самое и про "другую обертку". Ты не замечаешь, что у тебя обёртки ради обёрток?


А как же. Это для удобства восприятия. Как и разбиение на функции — можно было бы не разбивать, все писать в одной большой функции — зачем плодить, если можно в одной?

R>У тебя же вектор — это не какая-то там деталь реализации, которую нужно инкапсулировать — вектор у тебя находится прямо в модели данных самого верхнего уровня. На кой хер ты его пхнёшь в какие-то промежуточные обёртки, то "овладевая", то "отбирая"? Что за свингер-пати ты устроил?


Чтобы было наглядно и удобно — не работать с индексами а лишь получать удобно читаемые названия.
=сначала спроси у GPT=
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.