무서워질정도로 더욱 더 몸매가 거대해져서 걱정이 앞서는 Jim Weirich의 세션. 노련한 베테랑답게, 자신을 한 회사의 Chief "Scientist"라고 소개하면서, 하나로 통합된 과학이론 하나를 예로 들며 돌아돌아 시간내에 결론을 이뤄내는 발표가 인상적이었다. 하지만 노련한 사람답게 "바로 이거다"라는 결론을 내리지는 않았다. 마치 영화 매트릭스의 의회대표 노인이 네오에게 "There's no point"라고 얘기하는 것 같았어.

주된 요점은, 좋은 소프트웨어 디자인을 위한 척도들이 수없이 많지만, 하나의 척도로 통합될 수 있다는 생각을 언급하는 내용이었다. 그 용어는 Connascence. 기존 다양한 척도들을 Connascence의 한 부류로 설명하며 세션 진행. 발표제목은 낚시용이었다고 했고, 실제 생각했던 제목은 "The Grand Unified Theory of Software Development"란다.

  • Connascence of Name (CoN)
  • Connascence of Position (CoP)
  • Connascence of Meaning (CoM)
  • Connascence of Algorithm (CoA)
  • Connascence of Timing (CoN)
  • Contranascence

이것이 다양한 Connascence(에구, 스펠링도 어려워)의 다양한 형태.
 
예를 들어 DRY(Don't Repeat Yourself)같은 디자인 원칙의 경우는 CoA를 CoN으로 변환한 형태(CoA의 Degree가 더 나쁘기때문에 조금더 나은 CoN으로 조금 나은 디자인으로 바꾸는 것).
 
흠, 어려운 용어들이다. 결론적인 얘기는 Connascence라는 하나의 통합된 척도로 소프트웨어의 좋은 디자인을 평가할 수 있다는 제안을 한것. 자세한 것은 묻지말아줘, 나도 이해 못했어. ㅋㅋㅋ



Posted by hatemogi 트랙백 0 : 댓글 0

티스토리 툴바