오늘은 아이언 학교에서 내 소프트웨어 엔지니어링 몰입 과정의 두 번째 주 끝을 표시합니다. 커리큘럼은 객체 지향,클래스 메소드,클래스 인스턴스,열거 자,배열,해시 및 객체 관계를 포함한 루비의 핵심 기본 사항을 파악하는 데 중점을 두었습니다.
대부분의 경우,제가 작성한 루비 언어가 모두 테스트 기반 개발 환경에 있는 것은 아닙니다. 다른 사람 또는 자신이 작성한 테스트를 통과하는 코드를 작성하고 있습니다. 두 번째 주 말에 접근하면서 떠오른 현실은 알스펙 및 정보 오류 메시지의 가용성을 가정 할 수 없다는 것입니다. 그런 이유로,나는 서면으로 깊은 즐거움을 발견하고 내 친구로 올립니다 내 자신의 테스트를 통과.
모든 보석의이 보석(예,보석 설치가 필요하고 말장난도 의도 됨)은 디버깅,테스트 및 코드에 좋은 오래된 스눕을 갖는 데 필수적인 도구입니다.
그래서,올립니다 무엇입니까?이 경우 루비에는 두 가지 유형이 있습니다. 그것은 굉 장 때문에 대신 코딩을 통해,당신은 당신의 프로그램에 직접 코드 및’바인딩에 넣을 수 있습니다.캐 내 려’어디 코드에서 프로그램을 평가.
삽입’바인딩.그 삽입의 시점에서 프로그램을 동결 코드에’올립니다. 프로그램이 프라이 안타 때,프로그램은 리플을 열고 우리는 우리의 코드에 캐 내려고하고 후드 아래에 무슨 일이 일어나고 있는지 볼 수있는 기회를 얻을.
사용하려면 먼저 올립니다 보석을 설치
실행 명령 줄에”젬 올립니다 설치”.
를 사용하여 클래스 및 인스턴스 메소드가 포함 된 파티 클래스의 예를 만들었습니다.
나는 개인적으로”바인딩을 사용합니다.놀리려는”두 가지 일반적인 경우에,물론,당신이 놀리려는 사용하는 것이 많은 다른 상황이있다.
인스턴스 1:메소드에 전달 된 인수의 값을 캐고.
처럼,나는 19 행에서”기회”가 무엇인지 궁금해?
나는”바인딩.이 특정 방법으로 캐 내려고 수 있도록 하단에”올립니다. 참고”바인딩.내 경우/다른 문 안에 넣어 경우”올립니다”작동하지 않습니다,그래서 놀리려는 조건 문이 끝난 후 배치되었습니다.
이제 내 프로그램에서”음악”방법을 호출하고 터미널에서 내 파일을 실행할 때 내 예제가 열립니다. 이제 내 터미널에”행사”를 입력하여 19 행에서”행사”의 가치가 무엇인지 테스트 할 수 있습니다.
이봐,그것은”생일”입니다! 우리는 그것이 생일이라는 것을 알고 있기 때문에 한 번 실행하면이 방법이”생일 축하해,생일 축하해”로 돌아갈 것이라고 확신 할 수 있습니다. 달콤한!
인스턴스 2:열거 가능한 메서드
아래 예제에서 클래스 메서드”모든 파티_유형”모든 파티 행사 유형을 수집 하 고 파티 클래스에서 만든 모든 경우의 배열을 반환 합니다.
놀리려는 멋진 디버깅 도구이기 때문에,그것은 우리가 우리가 원하는 거의 모든 값을 조사 할 수 있습니다. 예를 들어,내부”파티.모든”(행 31),또는”파티”(행 31)또는”파티.행사”(라인 32)? 그것은 우리에게 우리가 기대하는 데이터를 제공합니까?
우리가 원하는 것을 입력하면 리플 링은 정확히 인쇄됩니다. 참조,,아래. “항목”및”항목.경우”는”당”의 단지 저희에게 1 개의 인스턴스를 보여줍니다,그러나 우리가 명령줄로”출구”를 명중하고 그 명령을 재실행하는 경우에,대리인은 루프에 있는 다음 인스턴스를 출력하고 저희에게 배열에 있는 다음 가치를 보여줄 것입니다.
놀리려는 팁
팀워크는 드림 워크를 만들기 때문에,여기에 놀리려는 사용에 내 상위 네 가지 팁입니다.
- 필요
캐 내려고 시도하기 전에 메서드를 호출 한 다음 파일 맨 위에”‘캐 내야’필요”하고”바인딩”전에 먼저 메서드를 호출해야합니다.캐 내다”작동합니다.
2. 루프에 캐고(“종료”)
당신은 다음 루프의 반환 값으로 캐고”종료”를 사용할 수 있습니다.
예를 들어,”파티.모든”루프의 다음 인스턴스로 이동합니다 명령 줄에”종료”를 입력,파티”의 3 인스턴스의 배열을 포함합니다. 루프의 각 인스턴스에 대해”파티”값에 액세스 할 수 있습니다. 마법!
3. 루프 밖으로 강제 종료(“!!!”/”종료!”)
당신이 주변에 스누핑 모든 것을 완료하면,당신은 칠 수있다”!!!”또는”종료!”완전히 꺼낼 수 있습니다. “종료”없이”! 당신이 루프와 방법에 캐고하지 않는 경우”또한 옵션입니다.
4. 재설정하기(“다시로드 코드”)
코드를 변경하고 이동 중에 테스트 할 수없는 경우 디버깅의 요점은 무엇입니까?
코드 업데이트가 완료되면 명령 줄에”다시로드 코드”를 입력 할 수 있습니다. 이것은 당신이 당신의 프로그램을 변경 한 후 수동으로 올립니다 밖으로 종료 한 후 올립니다 다시 입력 할 필요없이 새 프로그램으로 올립니다 세션을 재설정합니다.
그래서,그게 다 내거야. 행복한 디버깅!