정리
자바스크립트로 견고하고 안정적이며 고품질의 소프트웨어를 개발하는 것은 다른 프로그래밍 언어에서 하는 것과 원리가 비슷하다. 최고의 방법, 검증된 디자인 패턴, 상식을 사용하여 개발한다면 프로젝트는 성공적일 것이다.
|
자바스크립트의 동적인 특성은 다른 언어보다 다루기 힘들다. 예를 들어 자바 언어는 강한 타입에, 네임스페이스(패키지)를 사용해야만 하고, Gang of Four의 디자인 패턴을 보는 듯한 런타임 라이브러리가 있다. 게다가 Javadoc 문서는 매우 유용하다. 이런 요소는 신규 개발자에게 매우 유리하고 바퀴의 재발명에서 벗어나 올바른 시작을 하게 한다.
자바스크립트의 경우엔 다르다. 이 언어는 유연하다. 가끔은 너무 유연하다. 자바스크립트로 많은 일을 할 수 있고 많은 방법을 사용할 수 있다. 하지만 잠시 지나서 본다면 코드는 누가 관리할까? 여러분이 너무 창의적이거나 자바스크립트 코드에 부주의하다면 무슨 말인지 알 것이다. 시간이 지나면 코드 저자에게도 유지보수가 매우 힘들어진다. 자바스크립트는 자바에 비해 너그롭지 못하다
그럼 무엇을 해야 할까? 코딩 표준을 이용하여 좋은 습관을 강제하는 것도 한 아이디어다. 자바 방식 코딩을 사용할 수도 있다. 몇 가지만 결정해 진짜 문제를 단순하게 만들어 신입 개발자들을 도울 수 있다.
- 패키지 사용을 위해 Dojo의 기반구조를 활용한다.
- 파일 하나에 하나의 클래스를 정의하고 클래스와 파일명을 일관성 있게 관리한다.
- 인자가 적합한 형을 가지는지 검증하고 public 메서드의 상단에 null이 없는 조건을 명시한다.
- 자바에서처럼 예외를 사용하고 파이어버그 플러그인의 스택을 추적한다.
dojo.declare()를 이용하여 클래스를 선언하고 상속을 위해 Dojo 기반구조를 사용한다.
다른 한편으로 보면 자바스크립트의 강력한 유연성을 기피하면 진정한 아름다움과 가치 있는 설계를 하지 못할 수도 있다. 여러분은 이런 일을 바라지는 않을 것이다. 그렇기 때문에 양 극단 사이에서 완벽한 균형을 찾을 필요가 있다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 81 | [React.JS] 강좌 목록 | 황제낙엽 | 2020.05.19 | 385 |
| 80 |
Redux: React 앱의 효율적인 데이터 교류
| 황제낙엽 | 2020.05.19 | 971 |
| 79 | Jasmine 관련 | 황제낙엽 | 2020.01.13 | 492 |
| 78 | 마우스 드래그(drag)시 iframe 위에서 컨트롤 잃는 현상과 해결 방안 | 황제낙엽 | 2017.12.12 | 28271 |
| 77 | 다섯 가지의 Ajax 우수 사례 | 황제낙엽 | 2011.04.07 | 490 |
| 76 | 15+ jQuery Popup Modal Dialog Plugins and Tutorials | 황제낙엽 | 2011.03.30 | 574 |
| 75 |
$.ajax() 공략
| 황제낙엽 | 2011.03.27 | 670 |
| 74 | DWR을 이용해서 객체를 JSON으로 변환하기 | 황제낙엽 | 2011.03.25 | 347 |
| 73 |
json을 이용한 로그인 구현
| 황제낙엽 | 2011.03.25 | 832 |
| 72 | How Prototype extends the DOM (Prototype으로 DOM을 확장하는 법) | 황제낙엽 | 2011.03.24 | 695 |
| 71 | 스크랩 | 황제낙엽 | 2009.04.16 | 439 |
| 70 | YUI 스크랩 | 황제낙엽 | 2009.03.12 | 323 |
| 69 | 스크랩 | 황제낙엽 | 2009.03.11 | 316 |
| 68 | 관심 사이트 | 황제낙엽 | 2009.03.12 | 431 |
| 67 | 웹 개발 패러다임의 전환 - Flex와 Ajax의 동거 | 황제낙엽 | 2006.12.21 | 434 |
| 66 | Ajax 강의 정리 | 황제낙엽 | 2006.04.04 | 387 |
| 65 | 자바 기술을 이용한 AJAX의 활용 | 황제낙엽 | 2006.02.08 | 347 |
| 64 |
대표적인 AJAX Framework 소개
| 황제낙엽 | 2007.02.14 | 414 |
| 63 | Ajax Framework 인기 순위: Ajaxian.com | 황제낙엽 | 2007.02.13 | 368 |
| 62 |
prototype.js 를 위한 개발자 노트 (Ajax Framework)
| 황제낙엽 | 2007.02.15 | 335 |