본문 바로가기

assertion2

계약에 의한 설계(Contract By Design) 더 잘 활용하기(with java) 들어가기 계약에 의한 설계(Contract By Design) 라는 용어에 대해서 조영호님의 Object 책에서 처음 접하게 되었습니다. 계약에 의해 설계가 이루어지지 않는 코드에서 발생하는 문제점을 운영중인 프로덕트 코드에서 쉽게 발견할 수 있었고, 이를 계기로 사내에 '계약에 의한 설계' 라는 이름으로 세미나까지 하게 되었습니다. 발표자료 그러나, 발표를 하면서도 '실제 동작되는 코드에서는 어떻게 '계약에 의한 설계' 를 지킬 수 있을까?' 라는 생각을 했습니다. 실제로 계약에 의한 설계(Contract By Design) 를 준수하기 위해서 구글이 만든 cofoja 라는 라이브러리도 있고, vanilla4j 라는 라이브러리도 있었습니다. 하지만 이 두 개의 라이브러리를 적극적으로 활용하지 못한 이유.. 2021. 4. 5.
나는 AssertJ와 같이 'Fluent API' 유사 라이브러리 만들기 를 왜 실패했을까? 들어가기 지난 시간에 JCenter() 에 Assertion 라이브러리를 올리는 행위를 했었습니다. JCenter()에 올린 Assertion 을 'fluent' API와 같은 AssertJ 라이브러리를 컨셉으로 잡고, 만들기를 시도했습니다. 결과적으로는, 사실 실패했습니다. 만들수 있지만, 그 코드량이 간단하지 않아서 문제였습니다. 그 과정중에 겪었던 내용에 대해서 공유하는 시간을 갖도록 하겠습니다. AssertJ 란 무엇인가? joel-costigliola.github.io/assertj/ AssertJ / Fluent assertions for java AssertJ Fluent assertions for java joel-costigliola.github.io Fluent API란 쉽게 생각하면,.. 2020. 9. 19.