나도 이상했다. 제 경우에는 C/C++ 배경에서 왔습니다.
나를 클릭하면 작업 환경을 약간 수정하면 반복 시간을 크게 줄일 수 있다는 것입니다. 작은 덩어리로 코드를 작성하고 코드를 매우 자주 테스트 할 수 있도록 충분히 줄이는 것이 아이디어입니다.
컴파일 시간 검사가 부족한 경우 : 익숙해 질 것입니다. 중요한 공백과 마찬가지로, 컴파일 타임 타입 검사의 부족은 몇 주 후에 사라집니다. 얼마나 정확하게 말하기는 어렵지만, 적어도 그것이 나를 위해 일어났다 고 말할 수 있습니다.
인터페이스가 부족한 경우 : 이것은 까다로운 부분입니다. 더 큰 시스템에서 좀 더 많은 도움을 받아서 전체 인터페이스를 구현하도록 상기시키는 것이 좋을 것입니다. 실제로 많은 시간을 낭비하고 있다는 것을 알고 있다면, 자신의 런타임 검사를 작성하여 적절한 곳에 삽입 할 수 있습니다. 예 : 중앙 관리자에게 객체를 등록하면 객체가 제출되는 역할에 적합한 지 확인하는 것이 좋습니다.
일반적으로 적절한 반성 능력이 있다는 것을 명심하는 것이 좋습니다.
캡슐화가 부족한 경우 : coffeescript가 프로토 타입 스키마에 아주 멋진 클래스 래퍼를 구현한다고 가정 할 때 개인 변수가 없다고 가정하고 있습니까? 당신이 필요성을 느낀다면 실제로 클라이언트의 세부 정보를 숨길 수있는 여러 가지 방법이 있습니다. 보통 내 발을 미래에 발사하지 말라. 열쇠는 보통 클로저에서 물건을 다람질하는 것입니다.
더보기 Object.__defineGetter__
/Object.defineProperty?
게터와 세터는 이러한 상황에서 많은 도움이 될 수 있습니다.
것은 내가 변화에 대한 스크립트를 컴파일하는 커피의 파일 감시자 내장 사용되었다 : 반복 시간 단축에
. 포커스를 잃어 버린 모든 열린 파일을 저장하는 TextMate의 능력과 함께, 이것은 테스트가 텍스트 메이트에서 크롬/파이어 폭스로 바뀌고 새로 고침의 문제 였음을 의미합니다. 아주 빠릅니다.
node.js 프로젝트에서 필자는 뷰를 컴파일하고 즉석에서 제공하므로 파일 감시자도 불필요합니다. 그것들은 릴리즈시에 캐시되지만, 디버그 모드에서는 항상 디스크에서 다시로드되고, 재 컴파일되고, 에러가 발생하면 대신 제공합니다. 이제 몇 분마다 브라우저로 전환하고 새로 고침을하고 내 테스트가 실행되거나 컴파일러 오류가 표시됩니다.
대답은 아니지만 coffeescript로 생산하려면 실제로 자바에 익숙해야합니다. 그렇지 않다면 디버깅 경험은 실제로 고통 스러울 수 있습니다. –
저는 Javascript와 Coffeescript에 모두 익숙합니다. 응용 프로그램 동작을 기반으로 버그를 식별 할 수 있으며 Javascript의 이상한 부분을 대부분 이해합니다. 정적 인 형식의 언어에서는 볼 수없는 실수/버그가 계속 발생합니다. 나는 특정 코딩 스타일을 채택하는 것이 도움이 될지 여부를 모르지만 (이는 유형을 명확하게 만들고 간단한 오타 및 유형 오류를 만들기가 더 어려워 짐) - 그러나 지금은 다른 사람이 이미 갖고있는 것이 아니라고 생각할 수 없습니다. 해결되었습니다. – laurencer
동적 언어로 작업 할 때 자동화 된 테스트가 중요합니다. 좋은 테스트 슈트를 갖는 것은 어플리케이션에 잠재적으로 변경을 가할 때 에러를 잡는 데 매우 유용합니다. – Andrew