Làm thế nào tôi có thể thực hành các mẫu thiết kế và tái cấu trúc một cách có chủ ý? [đóng cửa]


10

Tôi đang đọc cuốn sách Tái cấu trúc các mẫu và tự hỏi làm thế nào tôi có thể có cơ hội thực hành các kỹ năng, bởi vì không có sự thực hành có chủ ý về các cách mới để tái cấu trúc và sử dụng các mẫu, các kỹ năng của tôi sẽ không cải thiện.

Nhưng công việc văn phòng đòi hỏi tôi phải hoàn thành từng nhiệm vụ nhanh nhất có thể. Hầu hết thời gian, thiết kế và kiến ​​trúc của dự án không do tôi kiểm soát, tôi chỉ có thể theo phong cách tương tự như mã hiện có. Đôi khi có một dự án với thiết kế tồi, nhưng cũng có một nhà phát triển khác có kỹ năng thiết kế tốt hơn tôi và anh ta đã có toàn bộ kế hoạch để cấu trúc lại dự án, vì vậy tôi chỉ làm theo kế hoạch của anh ta. Làm thế nào để tôi có cơ hội thực hành?

Câu trả lời:


6

Thẳng thắn mà nói, bạn không thể chờ đợi một cơ hội đến bằng cách gõ cửa nhà bạn. Nếu bạn rất có khuynh hướng thực hành kỹ năng thì sẽ rất tuyệt nếu bạn có thể đi kèm với các thiết kế của mình bất kể những gì được gọi là nhà phát triển có kỹ năng tốt hơn có. Chỉ cần đưa ra ý tưởng của bạn và có một cuộc trò chuyện thú vị về cách của tôi sẽ hữu ích cho thiết kế xấu hiện có này. Có thể bạn sẽ thất bại trong vài lần thử đầu tiên nhưng bạn sẽ học được rất nhiều và (cũng thấy đồng nghiệp nhà phát triển có kỹ năng tốt hơn của bạn cũng sẽ có điều gì đó để học hỏi từ bạn).

Nói tóm lại, hãy đặt các thiết kế của bạn lên bàn và biết bạn tốt hay xấu khác như thế nào, không có cách nào để đánh giá kỹ năng của bạn.


3

Thực hành thực hành thực hành. Dự án sở thích chắc chắn là một ý tưởng tốt. Và nếu bạn muốn học, tốt hơn là làm việc với dự án nguồn mở của người khác , theo cách đó bạn có thể học từ các mẫu họ sử dụng.

Tôi khuyên bạn nên xem xét mã hóa võ đườngmã katas . Toàn bộ ý tưởng đằng sau khái niệm này là bằng cách thực hành các vấn đề thực hành có thể quản lý được xác định rõ, bạn sẽ được trang bị tốt hơn khi có vấn đề trong mã của riêng bạn. (Các trang web giải thích điều này tốt hơn tôi đã làm, chắc chắn kiểm tra chúng.)

Điểm phụ: Một điều cốt yếu không hoàn toàn là một mô hình là thói quen đúng đắn khi thử nghiệm.

Ngoài ra, nhận xét cuối cùng: công việc văn phòng yêu cầu bạn hoàn thành từng nhiệm vụ nhanh nhất có thể. Nếu bạn làm việc quá nhanh và tạo ra nhiều lỗi, bạn đã không hoàn thành nhiệm vụ , vì bạn sẽ phải quay lại sau. Đây là làm lại. Nếu bạn không dành thời gian cần thiết để học cách làm việc phù hợp, bạn sẽ tạo ra nhiều công việc hơn cho bản thân trong thời gian ngắn và không học các mô hình phù hợp để cải thiện trong thời gian dài. Thật đáng giá cho cả bạn và nhà tuyển dụng của bạn rằng bạn thực hành các mẫu thiết kế phù hợp. (Điều đó nói rằng, các mẫu thiết kế thường có thể bị lạm dụng và lạm dụng bởi những người thực hành chúng quá nhiệt tình hoặc không có hiểu biết cơ bản, nhưng đó là một điểm riêng biệt.)


Làm lại là một chủ đề thú vị .. 37signals.com/rework là một cuốn sách hay về chủ đề này.
Carpeliam

1
Ồ, thêm một bình luận nữa, và điều này đi cùng với việc làm theo mô hình của người khác. Sử dụng những người trong văn phòng của bạn như là một tài nguyên. Nếu họ có kế hoạch về cách tái cấu trúc một cái gì đó, hãy nhờ họ giải thích quá trình suy nghĩ của họ và buộc họ dạy bạn. Nếu văn phòng của bạn không tập trung vào phát triển chuyên môn cá nhân, thì có vấn đề.
Carpeliam

+1 cho ghi chú khi tác vụ kết thúc.
Péter Török

1

Tôi nghĩ rằng bạn có các tùy chọn sau:

  • Cân nhắc thực hành vào thời gian không làm việc - chỉ cần ở lại làm việc và thử nghiệm tái cấu trúc mã mà không cam kết mã với VCS. Để thực hành có chủ ý, bạn không cần phải thực hiện các thay đổi. Bạn cần tái tạo một thủ tục cho đến khi nó trở thành bản chất thứ hai của bạn.
  • Xem xét việc thành thạo các kỹ năng giao tiếp để thảo luận với đồng nghiệp của bạn về việc tái cấu trúc là phù hợp hơn. Hội thoại quan trọng là thực sự hữu ích để hiểu các cơ chế của một giao tiếp.
  • Dự án thú cưng - tạo một dự án thú cưng và thực hành kỹ năng của bạn. Nó không cần phải rất hữu ích. Mục tiêu của bạn là rèn luyện kỹ năng lập trình.
  • Xem xét đề xuất các dịch vụ của bạn trong dự án nguồn mở - điều này có lợi hơn khi thực hành có chủ ý vì bạn có thể nhận được phản hồi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.