Computer >> Máy Tính >  >> Lập trình >> Ruby

Cách vượt ra ngoài tài liệu để tìm hiểu một thư viện mới

Bạn đang làm việc với một thư viện hoặc tính năng hoàn toàn mới và bạn không thể hiểu được tài liệu. Có thể khó thiết lập, vì vậy bạn phải chuyển đổi giữa các RDocs cho đến khi bạn tìm hiểu cách mọi thứ khớp với nhau. Có thể tài liệu thậm chí không tồn tại. Hoặc có thể bạn chỉ học tốt nhất bằng cách xem nhiều ví dụ.

Bạn cần một số trợ giúp. Nhưng bạn học cách sử dụng một tính năng ở đâu, nếu không phải là tài liệu của nó?

Một trong những tính năng GitHub yêu thích của tôi

Khi bạn muốn vượt ra ngoài tài liệu và xem cách sử dụng thư viện hoặc tính năng trong thế giới thực, hãy sử dụng tính năng tìm kiếm mã của GitHub.

Ví dụ:giả sử tôi vừa đọc hướng dẫn Rails về Hỗ trợ GET có Điều kiện. Tôi cảm thấy mình hiểu nó, nhưng tôi muốn xem thêm một số ví dụ trước khi sử dụng nó cho thực tế.

Tôi có thể bắt đầu tìm kiếm trên GitHub và tìm "if stale?" . Sau đó, trong thanh bên, chọn codeRuby :

{% img img-responsive /images/posts/code-search.gif 783 484 Tìm kiếm một số mã. %}

Và bây giờ tôi có rất nhiều ví dụ tuyệt vời về cách stale? có thể được sử dụng.

Không phải tất cả các ví dụ đều thú vị. Nhưng trong một danh sách, tôi nhận thấy tác giả sử dụng Post.maximum :

app / controllers / archives_controller.rb
class ArchivesController < ApplicationController
  def index
    if stale?(last_modified: (Post.maximum(:updated_at) || EPOCH).utc, public: true)
      @months = Post.find_all_grouped_by_month
    end
  end
end

Đó có vẻ là một cách tuyệt vời để sử dụng stale? . Và nếu tôi chưa xem ví dụ này, tôi có thể không nghĩ thử nó.

Bạn nên sử dụng những gì bạn tìm thấy như thế nào?

Khi bạn tìm kiếm mã nguồn mở, bạn nhận được hàng trăm ví dụ cho gần như bất kỳ tính năng nào. Bạn sẽ nhận thấy nơi nào tài liệu có ý nghĩa và chỗ nào được đơn giản hóa quá mức. Và bạn sẽ thấy các đối tượng hoạt động cùng nhau trong mã thực. Điều đó sẽ cho bạn biết nhiều hơn về cách các lớp được kết nối hơn bất kỳ RDoc nào có thể.

Tuy nhiên, hãy sử dụng các ví dụ để học những điều mới, chứ không phải đưa sự sùng bái vào dự án của riêng bạn. Sử dụng mã mà không hiểu nó là cách nhanh nhất dẫn đến hệ thống được thiết kế kém.

Trong ví dụ của tôi, maximum có thể không phải là điều đúng đắn để làm trong dự án của tôi. Tôi không nên sao chép dòng mà không tìm hiểu thêm về nó. Mà không hiểu khi nào thì có ý nghĩa khi sử dụng. Nhưng các ví dụ có thể dạy bạn những điều bạn chưa biết trước đây. Và chúng là một cách tuyệt vời để quyết định những gì cần tìm hiểu tiếp theo.

Giống như bất kỳ tìm kiếm nào, bạn sẽ mất một số thời gian thực hành để có được kết quả tốt. Nhưng tôi đã học được rất nhiều từ mã mà tôi đã tìm thấy và tôi biết bạn cũng vậy.