어디에서 찾을 수 있는 적극적으로 개발하 보 Ruby?
-
05-07-2019 - |
문제
대부분의 코드를 쓰는 루비 및 모든면에서는 동안,나는 몇 가지 오타는 단 잡았습니다.이것은 자극이 나는 스크립트를 실행하는 긴 작업,그리고 반을 찾아 나는 오타.
가 적극적으로 개발을 보기 위한할 수 있는 도움을 극복하는 이?그것은 그것을 사용하에서 작동하는 시스템이 많이 소스 파일,그들 중 일부는 동적으로 읽?
이 조각으로는 예제:
a = 20
b = 30
puts c
승리하는 현상금을 내게 보이는 도구는 검출 c
변수로 만들어지지 않/정의되지 않습니다.
다른 팁
RubyMine (http://www.jetbrains.com/ruby)지 않:
체 텍스트 http://img707.imageshack.us/img707/5688/31911448.png
도 아래 모든 분석 RubyMine 않습니다.
- NetBeans 루비 팩
- Aptana RadRails
- gVIM(와 syntastic 플러그인에 의해 scrooloose)
이러한 각각의 용량을 확인 구문 오류와 같은 잘못을의 숫자를 괄호 안에 너무 많은 defs,끝나는,교정기,등등.하지만 아무도 확인할 것이 잘못된 메소드를 호출하는 방법 RubyMine 않습니다.
여기에는 이유:그것이 어렵습니다.
루비가 매우 동적인(과 방법은 다음과 같'c'쉽게 생성),어떤 편집기를 식별하려고 존재하지 않는 변수/해야의 많은 부분을 전체 evironment 로드하는 여러 프로그램 흐름을 경로를 지속적으로 테스트를 얻기 위해서 정확'유효성'결과입니다.이것은 훨씬 더 어려운 자바에서 거의 모든 프로그램을 정적(적어도 그 때 내가 떨어졌는 모자).
이 기능을 쉽게 생성하는 방법에 비행은 이유 중 하나는 지역사회 보유하고 테스트하는 높은 존중합니다.정말 추천하려 할 테스트뿐만 아니라.
보 RuboCop.그것은 루비 코드 스타일에 기반 검사 루비 스타일 가이드.그것은 유지되는 꽤 적극적으로 지원하고 모든 주요 루비 구현입니다.그것은 잘 루비 1.9 2.0 과 Emacs 합니다.
그렇습니다. Test::Unit
Ok,나는 당신이 이미 알고 이는 어떤 의미에서 이것은 비 유용한 답변,하지만 당신은 당신을 가지고 부정적인 결과의 오리 입력 있는 종류의 것(이 시간)없음 방법으로 그냥 주위를 자세히 작성 테스트가 같이 Java 수 있습니다.
그래서,레코드,참조 Test::Unit
Ruby 표준 라이브러리는 또 하나의 다른 테스트 frameworks.
데 단위할 수 있는 테스트 실행을 다시 실행하는 가장 좋은 방법 오류를 잡을,그리고 당신이 할 필요가 더 많은 그들(테스트,하지 오류가:-)에서 동적인 언어는 다음과 같 Ruby...
nitpick 수신살습니다.
이 코드:
class MyString < String
def awesome
self.gsub("e", "3").gsub("l", "1").uppercase
end
end
puts MyString.new("leet").awesome
...출력:
$ nitpick misspelling.rb
*** Nitpick had trouble loading "misspelling.rb":
NoMethodError undefined method `uppercase' for "133t":MyString
Nothing to report boss! He's clean!
아직 그것을 사용하지 않았지만,그 소리를 유망한(입 업데이트할 때 나는 이 테스트를 했).
https://github.com/michaeledgar/laser
정적 분석과 스타일 린터한 루비 코드입니다.
원한다면 자신의 굴을 파서 들어갈 좋은,하지만 작업에 rubinius 니다.이 shouln 할 수 없는 더 원한 사람들에 익숙 해지만.
avdi@lazarus:~$ irb
>> a = 20
=> 20
>> b = 30
=> 30
>> puts c
NameError: undefined local variable or method `c' for main:Object
from (irb):3
>>
가 ya go,도구입니다"라고 IRB".Do I get 특?
나만을 반 농담입니다.썼는데 이 대답을 잘하면 집 드라이브는 루비에서,당신이 알고 싶은 경우는 무언가가 정의는지, 당신은 코드를 실행합.