История изменений
Исправление firkax, (текущая версия) :
Проблем не возникает, если не ошибаться. Но неошибающемуся программисту Раст не нужен.
Возвращаемся с моему утверждению: если кодит не идиот, то все эти страшилки неактуальны. А идиот везде найдёт где что-то запороть. И тут дело не в рандомных ошибках, а в грубом пренебрежении элементарными «правилами».
Другое дело, что именно из-за вот этого устаревания курсора двусвязный список - это на грани абстракции и куска состояния.
Это не устаревание курсора. Курсор - часть буфера, он не должен управляться отдельно от него каким-то левым кодом. А реализация буфера не должна снаружи от себя оставлять неконсистентный курсор.
И это всё - не какие-то заумные секреты успешного кодинга, а банальности. Если кто-то их до сих пор не осилил - пусть идёт в школу.
И да, нужной абстракцией тут будет буфер редактора, а не двусвязный список. Буфер может быть реализован через список, но снаружи это не важно, и реализация списка может свободно (внутри реализации буфера) переплетаться с остальными нужными для буфера вещами.
Исправление firkax, :
Проблем не возникает, если не ошибаться. Но неошибающемуся программисту Раст не нужен.
Возвращаемся с моему утверждению: если кодит не идиот, то все эти страшилки неактуальны. А идиот везде найдёт где что-то запороть. И тут дело не в рандомных ошибках, а в грубом пренебрежении элементарными «правилами».
Другое дело, что именно из-за вот этого устаревания курсора двусвязный список - это на грани абстракции и куска состояния.
Это не устаревание курсора. Курсор - часть буфера, он не должен управляться отдельно от него каким-то левым кодом. А реализация буфера не должна снаружи от себя оставлять неконсистентный курсор.
И это всё - не какие-то заумные секреты успешного кодинга, а банальности. Если кто-то их до сих пор не осилил - пусть идёт в школу.
Исправление firkax, :
Проблем не возникает, если не ошибаться. Но неошибающемуся программисту Раст не нужен.
Возвращаемся с моему утверждению: если кодит не идиот, то все эти страшилки неактуальны. А идиот везде найдёт где что-то запороть. И тут дело не в рандомных ошибках, а в грубом пренебрежении элементарными «правилами».
Другое дело, что именно из-за вот этого устаревания курсора двусвязный список - это на грани абстракции и куска состояния.
Это не устаревание курсора. Курсор - часть буфера, он не должен управляться отдельно от него каким-то левым кодом. А реализация буфера не должна снаружи от себя оставлять неконсистентный курсор.
Исходная версия firkax, :
Проблем не возникает, если не ошибаться. Но неошибающемуся программисту Раст не нужен.
Возвращаемся с моему утверждению: если кодит не идиот, то все эти страшилки неактуальны. А идиот везде найдёт где что-то запороть. И тут дело не в рандомных ошибках, а в грубом пренебрежении элементарными «правилами».