add의 symmetry이름은 remove이다.
젠장! 내가 만들어낸 production code에 난 별생각없이 delete라는 이름을 더 많이 사용한거 같다.
remove와 delete는 미묘하게 의미가 틀리지만, 우리가 이해를 하기에 아주 나쁜 수준은 아니다.
하지만, 우리가 자바를 하면서 애용하는 collection메타포를 보면 add vs remove가 더 어울린다.
symmetry의 사전적인 의미는 무엇일까?

Identifying and clearly expressing symmetry makes code easier to read.
symmetry의 장점은 반을 이해하면 나머지 반을 이해하기 쉬워서 가독성이 좋아진다. 반대로 symmetry가 깨지면 대칭이 되는 코드를 이해하는데 혼란이 찾아온다. 내가 기대하지 않는 코드의 구현이 되어있기때문이다.
나는 refactoring을 할때 extract method를 자주 애용하는 편이다. 이 refactoring을 진행을 하다가 보면, 어디까지 extract를 할지 고민이 많이 된다.
이때 symmetry를 떠올리자. extract method를 해서 의도가 명확해져서 communication하기 좋은 코드로 발전을 한다면, 코드량이 조금 더 많아 지더라도 extract를 계속하자. extract를 할때는 symmetry를 떠올리면서 이름을 짓는 것이 중요하다.
구현상으로는 symmetry를 지키려 노력을 했지만, 이름에서 symmetry 역시 구현의 symmetry만큼 곰곰히 생각해야 한다.
젠장! 내가 만들어낸 production code에 난 별생각없이 delete라는 이름을 더 많이 사용한거 같다.
remove와 delete는 미묘하게 의미가 틀리지만, 우리가 이해를 하기에 아주 나쁜 수준은 아니다.
하지만, 우리가 자바를 하면서 애용하는 collection메타포를 보면 add vs remove가 더 어울린다.
symmetry의 사전적인 의미는 무엇일까?
Identifying and clearly expressing symmetry makes code easier to read.
symmetry의 장점은 반을 이해하면 나머지 반을 이해하기 쉬워서 가독성이 좋아진다. 반대로 symmetry가 깨지면 대칭이 되는 코드를 이해하는데 혼란이 찾아온다. 내가 기대하지 않는 코드의 구현이 되어있기때문이다.
나는 refactoring을 할때 extract method를 자주 애용하는 편이다. 이 refactoring을 진행을 하다가 보면, 어디까지 extract를 할지 고민이 많이 된다.
이때 symmetry를 떠올리자. extract method를 해서 의도가 명확해져서 communication하기 좋은 코드로 발전을 한다면, 코드량이 조금 더 많아 지더라도 extract를 계속하자. extract를 할때는 symmetry를 떠올리면서 이름을 짓는 것이 중요하다.
구현상으로는 symmetry를 지키려 노력을 했지만, 이름에서 symmetry 역시 구현의 symmetry만큼 곰곰히 생각해야 한다.
