2011-05-15 6 views
3

리크는 좋은 습관에서 루비 멍청이를 훈련하는 데 유용할까요? 아니면 경험이 풍부한 루비 아이가 사용하고 해석해야합니까?루비 : 교육 도구로 리익을 사용하십시오.

나는 우물쭈물이 많지 않거나 프로그래밍 경험이 있지만 대부분 C 변형이 있습니다. 저는 지난 몇 년 동안 Ruby를 유틸리티 스크립팅 언어로 사용했지만 루비 코드는 음역으로 번역 된 것입니다. 이제는 그것을 진지한 도구로 사용하고자하며 "루비 방식"을 배우고 싶습니다.

처음부터 TDD/BDD를 사용하여 필요한 교육 피드백을 제공 할 계획이었으며 Reek이 비표준 양식 및 사용에 대한 피드백을 제공하는 데 유용 할 것 같습니다. 그러나 오래 동안의 경험에 비추어 볼 때, 그러한 도구는 사용 경험이 필요하고 초보자가 손으로 해결할 때보 다 더 많은 문제를 야기하는 양날의 칼이 될 수 있음을 알고 있습니다.

누구나 악취 (또는 이와 유사한 도구)를 이런 식으로 사용해 본 경험이 있습니까?

가 중요한 경우

, 나는 등

+0

누군가가 투표를 끝내기로 했으므로 내가 묻는 것을 분명히하겠습니다. 나는가 functionality의 기능과 그것이 만들어내는 피드백의 유형에 대해 묻고있다. 저는 이것을 주관적인 질문으로 보지 않습니다. 초보 사용자에게 유용한 피드백을 제공하거나보다 전문적인 해석이 필요합니다. – TechZen

답변

3

아니요, Reek은 루비 스타일 검사기가 아닙니다. 그런 것을 원하면 Roodi를 제안하거나 더 좋은 방법은 당신에게 훌륭한 Ruby 스타일을 보여 줄 수있는 사람과 함께하는 것입니다.

필자는 Reek을 약간의 연구 프로젝트로 썼으며 솔직히 flay, flog 및 rcov와 같은 간단한 도구만큼 유용하지는 않습니다. 중복 및 복잡성을 제거하고 코드를 TDDing하여 더 나은 코더가되는 방법을 배우십시오.

+0

고마워, 그게 내가 알고 싶었던 것이다. – TechZen

1

악취가 가능한 설계 문제에 대해 경고, 맥 OS X가 더 레일, 서버 물건을 즉하지에 대한 독립 실행 형 응용 프로그램을 작성하는 초기에 집중 (좀 더 사소한 일)됩니다 루비를 쓰는 데는 도움이되지 않습니다. 솔직하게 말해서, 나는 features을 읽는 것이 실제로 실제로 냄새를 맡는 것만큼이나 가치 있다고 생각합니다.

C와 유사한 언어에서 오는 누군가를위한 조언 : for-loop를 시스템에서 꺼내십시오. 그것이 존재하지 않는 척하십시오. 그것은 더 많은 것을 rubyish 관용구로 강제 할 것입니다.

+0

Reek은 디자인 문제를 어느 언어/환경에도 어느 정도 일반화시킬 수는 있지만 특정 언어를 사용하는 방식을 고안하지는 않는다고 말하는 것 같습니다. – TechZen

0

필자는 TDD 사고 방식을 강요하기 위해 노력해야했으며 메트릭 젬 (metric_fu 용 래퍼)이 제공하는 툴킷이 도움이된다는 사실을 알고있었습니다. 사실 나는 모든 Railscasts를 테스트 할 것을 권한다 - 거대한 시간 싱크가 아니며 가치있는 것으로 나타났습니다.

등 그가 시험은 훌륭한 일을 설정하는 방법, 나는 다시 가서 요청 사양에 다른 튜토리얼을 통해 갔다, 카피 바라입니다 않는 방법에 대한 최근 Railscast, 운율

1

RuboCop

에서보세요

작은 것들을 많이 탐지하고 그 중 일부를 자동으로 수정할 수도 있습니다. Git을 사용하면 RuboCop을 실행하기 전에 변경 사항을 숨길 수 있으므로 git diff를 사용하여 수정 사항을 볼 수 있습니다.