이 기사는 Leonid Suschev 덕분에 러시아어로 번역되었습니다.
직장에서 팀을 변경했거나 방금 새 작업을 시작했습니다. 또는 즐겨 사용하는 오픈 소스 앱에서 버그를 발견하고 첫 번째 풀 리퀘스트를 작성하고 싶습니다. 하지만 git clone
후에 app/models
을 엽니다. , 당신은 완전히 길을 잃었습니다. Rails가 구조 익숙한 것과 동일하므로 코드에서 길을 찾는 것이 불가능합니다. . 그렇다면 이 새롭고 생소한 Rails 앱을 배우는 가장 빠른 방법은 무엇입니까?
프로젝트 어휘 구축
Player
란? , 그리고 Session
이란 ? Account
은 어떻습니까? 대 User
대 Provider
?
모든 앱은 다른 용어와 은유를 사용합니다. 앱의 어휘를 이해하지 못하면 app/models
을 탐색하는 데 시간을 낭비하게 됩니다. 새 수업 이름을 볼 때마다 또는 더 나쁜 것은 기능이 작동하는 방식에 대해 잘못된 가정을 하게 될 것입니다.
그러므로 가장 먼저 해야 할 일은 해당 어휘를 구축하는 것입니다. 이 앱이 무엇으로 구성되어 있는지 알아보세요. 그리고 빠르게 하고 싶다면 db/schema.rb
부터 읽어보세요. . 앱에서 사용하는 용어와 모든 데이터가 어떻게 결합되는지 배우게 됩니다. *_id
에 특히 주의하세요. 열을 사용하여 모델이 서로 연결되는 방식을 볼 수 있습니다.
좀 더 시각적인 사람이라면 rails-erd gem을 사용해 보십시오. Rails 모델에서 다이어그램을 생성하여 모든 테이블과 열과 상호 작용 방식을 보여줍니다. 출력물을 책상에 보관하면 앱의 나머지 부분을 더 쉽게 이해할 수 있습니다.
모델 및 일반 Ruby 개체 계속
잘 설계된 Rails 앱에서 모든 것이 데이터베이스 테이블에 의해 뒷받침되는 것은 아닙니다. 프로젝트 어휘를 계속 구축하려면 app/models
내부를 살펴보세요. db/schema.rb
내부에서 볼 수 없는 추가 클래스 및 속성 .
아직 여기에서 너무 많은 시간을 보내지 마십시오. 일이 어떻게 돌아가는지 길을 잃기 쉽습니다. 프로젝트 용어를 작성하기 위해 왔습니다.
앱을 구성하는 부분에 대해 자세히 알게 되면 왜 특정 물체가 존재하는지, 또는 왜 그들이 그렇게 하는 방식으로 함께 맞는지. 그리고 그것이 다음 단계의 요점입니다.
앱을 사용해 보고 "이유" 알아보기
앱에서 사용하는 개체에 익숙해지면 앱을 시작하세요. 주변을 클릭하고 탐색하십시오. 문서가 있으면 안내하는 데 도움이 될 수 있습니다. 그렇지 않으면 방금 배운 용어가 실제로 적용되는 것을 볼 수 있습니다.
앱을 사용하면 더 높은 수준에서 보기 시작합니다. 모델이 연관되어 있는 이유가 있음을 알 수 있습니다. 그들이 함께 그룹화 된 이유. 그 클래스 이름이 선택된 이유. 페이지에 모두 함께 표시되거나 동일한 형식으로 구성될 수 있습니다.
그리고 앱이 만들어지는 부분과 그 존재 이유를 이해하기 시작하면 모든 것이 어떻게 작동하는지 이해할 준비가 된 것입니다.
"방법" 파악
이제 앱에 대해 자세히 배우기에 충분합니다. 새로운 용어와 새로운 상호 작용으로 인해 주의가 산만해지지 않을 것입니다. 배우고 싶은 것을 한 가지 선택하여 끝까지 따라가시면 됩니다.
여기에서 갈 수 있는 방법이 많이 있습니다. 다음은 내가 가장 좋아하는 몇 가지입니다.
- UI 탐색 , 그리고 생각해보세요:당신이 조각에 대해 알고 있는 것을 알고 어떻게 이 기능을 구축할 수 있을까요? 당신은 추측 할 수? 디버거를 사용하여 추측을 확인하거나 실제로 어떻게 작동하는지 알아보세요.
- 테스트 사례 선택 앱을 통해 모든 방법을 따르십시오. 코드를 읽거나 디버거로 탐색하세요.
- 경로 또는 컨트롤러 작업을 선택합니다. UI에서 해당 컨트롤러 작업에 도달하는 방법을 알 수 있습니까?
이것은 또한 모델과 일반 Ruby 객체를 살펴보기에 좋은 시간입니다. 이번에는 할 수 있습니다. 모델 작동 방식에 대한 세부 정보로 이동합니다.
앱에 호기심을 가져보세요. 지식에서 공백을 찾고 디버거와 코드로 공백을 메웁니다.
테스트를 시작하지 않으시겠습니까?
저는 항상 사람들이 "코드베이스를 이해하고 싶다면 테스트부터 시작하세요! 테스트는 실행 가능한 문서입니다!”
그러나 이것은 나를 위해 일한 적이 없습니다. 테스트 사례가 너무 좁습니다. 테스트를 통해 배우면 앱의 더 큰 요점을 놓치고 있는 것 같습니다.
Rails 앱이나 대부분의 gem만큼 큰 것을 이해하려면 항상 개요가 먼저 필요했습니다. 어떤 구성 요소가 앱을 구성하고 왜 존재하는지 알아야 합니다.
그러나 반드시 테스트를 실행해야 합니다. 그렇지 않다면 고장난 시스템으로 작업하고 있는 것입니다. 그리고 고장난 시스템에서 발견한 것들에 의존할 수 없습니다.
무엇을, 왜, 어떻게
새로운 Rails 앱을 이해하려면 다음 세 단계를 순서대로 진행하세요.
- 무엇 부품이 이 앱을 구성하나요?
- 이유 그 부품이 존재합니까? 왜 그런 식으로 구성되어 있습니까?
- 방법 각 조각이 작동합니까?
그러면 새로운 앱을 귀하의 것으로 만드는 데 필요한 광범위한 관점과 좁은 지식을 모두 얻을 수 있습니다.
추신 Practicing Rails를 출시합니다. 다음주. 따라서 25% 조기 액세스 할인을 받고 싶다면 빨리 주문하고 싶을 것입니다!