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

Khi nào nên đi lặn sâu trên đường ray

Bạn đã bao giờ tìm thấy một chủ đề Rails không có ý nghĩa đối với bạn chưa?

Giống như, bạn nghĩ rằng bạn biết điều đó, vì vậy bạn đã viết một số mã và một điều gì đó hoàn toàn khác đã xảy ra?

Hoặc bạn biết bạn không hiểu, nhưng bạn có đủ hiểu biết để vượt qua, ngoại trừ việc bạn dành quá nhiều thời gian để đấu tranh với các trường hợp phức tạp mà bạn có thể trở thành một chuyên gia về nó vào thời điểm bạn hoàn thành?

Chà, nếu không phải như vậy thì sao? Sẽ không tốt hơn nếu chỉ biết mọi thứ hoạt động như thế nào? Để có một mô hình tinh thần vững chắc về vấn đề trước mặt bạn? Vì vậy, bạn có thể đưa ra quyết định đúng đắn và viết mã phù hợp?

Khi tôi lần đầu tiên học phát triển web, các phiên là That Thing:Tôi nghĩ rằng tôi biết chúng, nhưng tôi không biết. Và sự hiểu lầm của tôi về các phiên đã gây ra rất nhiều lỗi khiến tôi bị chỉ trích rất nhiều vì những vấn đề mà tôi đã tạo ra.

Chẳng bao lâu, tôi nhận ra rằng mình phải mất thời gian để thực sự hiểu cách các phiên hoạt động. Để làm sáng tỏ chúng, để làm cho chúng không đáng sợ hoặc kỳ lạ. Và cuối cùng, để có thể đoán họ sẽ cư xử như thế nào - và đúng.

“Phiên” không phải là chủ đề duy nhất mà tôi đã đi sâu tìm hiểu. Lập mô hình dữ liệu, lưu vào bộ nhớ đệm, lập trình siêu hình, tất cả đều là những thứ khó hiểu nhưng thực sự rất dễ gặp phải loại công việc. Nhưng bạn sẽ gặp phải các vấn đề khó gỡ lỗi vĩnh viễn nếu bạn không hiểu chúng.

Trong Thực hành đường ray , Tôi đã viết về T-Shaped learning :Khi bạn có kiến ​​thức cơ bản tốt, nhưng hãy đẩy sâu hơn nữa vào các chủ đề cụ thể khi bạn cần. Những cú hích đó là những bước đi sâu và chúng sẽ giúp bạn giải quyết những vấn đề lớn trong suốt sự nghiệp lập trình của mình.

Khi nào bạn nên lặn sâu?

Vậy làm thế nào để bạn biết khi nào là thời gian để đi sâu?

Trước tiên, để lặn sâu, bạn phải biết mình đang nghiên cứu những gì.

Tìm hiểu sâu hữu ích nhất khi bạn xử lý một chủ đề. Một điều cụ thể bạn có thể mô tả bằng một từ hoặc một cụm từ ngắn. Hiệu suất truy vấn SQL . Phiên . Bộ nhớ đệm HTTP . Quá cụ thể và bạn bỏ lỡ các tương tác khiến một chủ đề trở nên quá phức tạp. Quá chung chung và bạn đang tìm hiểu sâu về “Lập trình”. Tôi đoán là như vậy, nhưng đó là một bước đi sâu mà bạn sẽ dành cả sự nghiệp của mình.

Tiếp theo, bạn nên tìm hiểu sâu về một trong hai trường hợp:

  1. Bạn nghĩ bạn biết mình đang làm gì, nhưng điều gì đó hoàn toàn không mong muốn xảy ra. Bạn biết trong trái tim mình việc nhấn nút màu xanh lá cây đó sẽ bật đèn hành lang, nhưng bạn nhấn nút đó và thay vào đó, căn phòng sẽ sụp đổ.

  2. Bạn biết bạn không thực sự hiểu điều gì đó, và điều đó ổn… Nhưng bây giờ, bạn đang sửa một lỗi và mọi thứ bạn thử gây ra nhiều vấn đề hơn là bạn đang giải quyết, tạo ra lỗi mới nhanh như bạn đang sửa lỗi cũ.

Những tình huống này có điểm chung:Bạn mới bắt đầu nhận thấy rằng mình đang đi sai hướng. Và mặc dù bạn hy vọng bạn sẽ xoay chuyển tình thế, bạn bắt đầu nhận ra rằng bạn sẽ lãng phí rất nhiều thời gian để đấu tranh.

Cả hai đều là cách giúp bạn sớm nhận ra rằng cách bạn đang làm không hiệu quả.

Vì vậy, lần tới khi bạn chạy vòng quanh, chiến đấu với các trường hợp cạnh tranh để sửa lỗi hoặc lần tiếp theo khi bạn bị đánh giá cao bởi mã bạn đã viết làm điều gì đó hoàn toàn khác với những gì bạn mong đợi, hãy nhớ lại cảm giác của bạn. Hãy nhạy cảm với nó. Đó là cảm giác sẽ cho bạn biết đã đến lúc phải tạm dừng. Để thu thập chính mình. Và để tìm hiểu sâu hơn, điều mà giờ đây bạn biết rằng bạn không hiểu.

Nhưng bây giờ bạn đã quyết định rằng bạn cần phải tìm hiểu sâu, bạn làm cách nào để thực hiện điều đó?