Size: a a a

2020 April 25

e

egoarka in rust_offtopic
Ihnat
Как раз для того, чтобы не похерить то, что было, пока ты рефакторишь.
ну если вкратце, то да
источник

YM

Yaroslav M in rust_offtopic
Ihnat
Как раз для того, чтобы не похерить то, что было, пока ты рефакторишь.
а рефакторить не равно херить, избавляться
?
источник

I

Ihnat in rust_offtopic
Нет.
источник

I

Ihnat in rust_offtopic
Рефакторинг не должен изменять поведение.
источник

YM

Yaroslav M in rust_offtopic
Ihnat
Рефакторинг не должен изменять поведение.
всмысле херить код а не поведение
источник

e

egoarka in rust_offtopic
Yaroslav M
всмысле херить код а не поведение
какая разница, ты на 100 процентов не можешь быть уверен, что после слепого рефакторинга твоя система будет работать как раньше
источник

YM

Yaroslav M in rust_offtopic
egoarka
какая разница, ты на 100 процентов не можешь быть уверен, что после слепого рефакторинга твоя система будет работать как раньше
почему слепого? глаза же есть
источник

I

Ihnat in rust_offtopic
Тесты пишутся обычно на поведение. Соответственно интерфейс даже скорей всего никак не изменится. Изменится внутренняя логика объекта за ним, тот самый код, который мы рефакторим.
источник

e

egoarka in rust_offtopic
Yaroslav M
почему слепого? глаза же есть
глаза есть, а если код писал кто то другой? ты тоже все предсказать сходу сможешь когда рефакторить будешь?
источник

YM

Yaroslav M in rust_offtopic
egoarka
глаза есть, а если код писал кто то другой? ты тоже все предсказать сходу сможешь когда рефакторить будешь?
я всегда внимательно читаю чужой код, чтобы понять что он делает
источник

e

egoarka in rust_offtopic
:)
источник

I

Ihnat in rust_offtopic
А тесты подтвердят, что все работает после рефактора так, как изначально и работало.
источник

YM

Yaroslav M in rust_offtopic
как будто изначально оно работало хорошо и правильно
зачем тогда рефакторить
источник

e

egoarka in rust_offtopic
Yaroslav M
как будто изначально оно работало хорошо и правильно
зачем тогда рефакторить
в том и прикол, что да
источник

YM

Yaroslav M in rust_offtopic
все же лучшее основание - знание домена, а не чужой код
источник

I

Ihnat in rust_offtopic
Yaroslav M
как будто изначально оно работало хорошо и правильно
зачем тогда рефакторить
Пользователь твоего интерфейса не видит тех процессов, при помощи которых и достигается это "работает хорошо и правильно". И вот именно эти процессы могут быть очень сложны в поддержке и понимании. Их мы и рефакторим.
источник

I

Ihnat in rust_offtopic
А пользователь даже и не подозревает о том, что мы что-то сделали проще, ведь для него ничего не изменилось.
источник

YM

Yaroslav M in rust_offtopic
ну это когда интерфейс уже есть
понятно что покрыть его тестами и рефакторить нутряк
источник

YM

Yaroslav M in rust_offtopic
а бывает что мазня намазана в 10 местах а в сумме на целый модуль набегает
источник

I

Ihnat in rust_offtopic
Может быть и такое, конечно.
источник