ts 2

[Refactoring 2판]에 대한 내 생각과 비판

이 책의 초판은 2012년 11월이고, 2020년에 2판이 나왔다. 2판은 ES6를 기준으로 작성되어있다. 코드 리팩터링의 기본 원칙에 대해 js로 풀어낸 것이므로, 객체지향 언어라면 대동소이하다. 사실 이 책에 나오는 내용 대부분은 학부 시절에 접할 수 있는 내용들이다. js로 작성되었다고해서 js 특성에 맞는 특별한 리팩터링 방법을 기대한다면 다른 책을 추천한다. 사실 ts가 나온 현 시점에서는 js라는 언어 자체가 리팩터링 대상이기 때문이다. 그냥 js가 대중적이니까 js판 리팩터링책을 만든 느낌이지, 다른 개발자들이 js쓰는 것을 보고 답답함을 느껴서 "야 너희들 js 리팩터링 그렇게 하는 거 아니야!"라는 느낌으로 책을 쓴 게 아니란 얘기다. 나는 사실 이 책의 작성 배경이 후자이길 바랐다. 만..

IT 2022.11.13

스벨트에서 readable만 노출하기(Svelte - writable to readable)

나는 특정 모듈에서 `store`의 `writable`은 이용하되, `readable`인터페이스만 노출하고 싶었다. 데이터 쓰기 인터페이스를 함수나 커맨드 형태(MVVM 패턴)로만 제공할 수 있어야, 프로젝트가 커졌을 때, 문제가 되지 않기 때문이다. # Example - convert `writeable` to `readable` import {writable} from 'svelte/store' // writable의 업데이트 기능은 이 모듈에서만 사용(export하지 않음) const _now = writable(Date.now()) // `export const 변수명 = readable(값)`과 같은 효과 export const now = {subscribe: _now.subscribe} // ..

IT 2022.10.10