it-swarm-vi.com

Nơi nào bạn đi để đọc các ví dụ tốt về mã nguồn?

Tôi đã nghe một vài người nói rằng một trong những cách tốt nhất để cải thiện khả năng mã hóa của bạn là đọc mã của người khác và hiểu nó. Câu hỏi của tôi, là một lập trình viên tương đối mới, tôi sẽ đi đâu để tìm các ví dụ mã nguồn tốt không quá xa đầu?

53
Jesse McCulloch

Bạn có thể duyệt các dự án nguồn mở trên các trang web kho lưu trữ như GitHub , Codeplex , Google Code , hoặc BitBucket . Bạn sẽ tìm thấy các dự án có mức độ phức tạp khác nhau, vì vậy ban đầu bạn sẽ có thể tìm thấy thứ gì đó khiến bạn quan tâm và không đi qua đầu bạn quá nhiều.

Một tùy chọn khác là Scott Hanselman's Mã nguồn hàng tuần bài đăng trên blog.

Tôi khuyên bạn nên bắt đầu với một dự án đang hoạt động, đã được thiết lập để giảm tỷ lệ bắt đầu đọc mã chưa được sử dụng và xem xét kỹ lưỡng. Lý tưởng nhất là tìm thứ gì đó khiến bạn quan tâm và bạn có thể sử dụng. Sử dụng ứng dụng sẽ giúp bạn hiểu mã nguồn. Một lợi ích khác của việc chọn một dự án nguồn mở là bạn có thể đóng góp một số bản sửa lỗi hoặc các tính năng, điều này sẽ giúp việc đọc qua mã trở nên thú vị hơn.

Nhìn chằm chằm vào một loạt mã của người khác có thể đáng sợ, vì vậy hãy bắt đầu với hàm main (hoặc tương đương) và thực hiện theo cách của bạn từ đó.

30
Adam Lear

Rất ít người viết mã nguồn tốt trong lần thử đầu tiên. Mã nguồn tốt thường được tạo ra bởi một loạt các sửa đổi. Do đó, nếu bạn có thể tìm thấy mã nguồn đã được đánh giá ngang hàng nhiều lần và cố định nhiều lần, có lẽ bạn đang ở một vị trí tốt hơn. Một số dự án nguồn mở (và một số phần trong số đó) được xem xét đặc biệt tốt. Mã đến từ các công ty có chu kỳ đánh giá bắt buộc (ví dụ: Google nhưng có nhiều công ty khác) có thể phù hợp với dự luật.

Điều đó đang được nói, tôi không chắc mục tiêu của bạn sẽ là tìm "mã tuyệt vời". Nó nên được xem xét các kiểu mã khác nhau (chẳng hạn như các kiểu được viết bởi đồng nghiệp của bạn) và học cách xác định các điểm tốt và xấu về nó. Bạn càng xác định được nhiều điểm xấu, bạn sẽ càng nỗ lực để làm cho mã của mình tốt hơn và biết cách.

Cụ thể, tôi tin rằng một cách tiếp cận rất tốt để có được cảm giác về mã tốt là sử dụng trình gỡ lỗi tương tác để theo dõi thông qua mã phức tạp, theo chuỗi các lệnh. Ví dụ: đi đến một trong các tệp chính của công ty bạn, đặt điểm dừng và bắt đầu tìm hiểu mọi thứ từ chúng.

Sau một vài lần bạn bị mất phương hướng bởi các hàm 100 dòng với mười cấp độ thụt và phụ thuộc vào toàn cầu và một vài lần bạn lướt qua mã bị phân tách tốt, bạn sẽ cải thiện chương trình của riêng mình.

10
Uri

Thay vì tìm mã tuyệt vời, hãy xem Sách lập trình chung.

ví dụ. Hoàn thành mã, Viết mã vững chắc, Mẫu thiết kế (Tôi chắc chắn có rất nhiều sách khác xung quanh trong một câu hỏi và câu trả lời khác trong trang web này)

Những cuốn sách đang mô tả triết lý những gì được coi là mã tốt. Khả năng đọc, hiệu suất, bảo trì, phát hiện lỗi, vv.

Điều này phục vụ một nguồn tài nguyên thậm chí tốt hơn và hiệu quả hơn là cố gắng tìm ra những gì tác giả đang cố gắng đạt được.

P.s. Thiết kế phần mềm tốt là những gì bạn nên xem xét là tốt. Điều này sẽ khó nhận ra chỉ từ việc quan sát mã, do dự án đủ lớn.

4
Zekta Chan

Tôi thấy rằng mã của các thư viện đi kèm với ngôn ngữ lập trình mà bạn lựa chọn thường là một khởi đầu tốt để xem những gì được cho là thực tiễn tốt nhất và phong cách mã hóa tốt.

Mặc dù bạn không muốn bắt đầu với những nơi như sắp xếp thuật toán hoặc các lớp container phức tạp.

Một nơi khác cho những hiểu biết thú vị trong việc viết mã là Project Euler ( http://projecteuler.net/ ). Bất lợi nhỏ ở đó: Bạn phải giải quyết vấn đề trước để có quyền truy cập vào diễn đàn nơi người khác đăng giải pháp của họ (những thách thức thú vị cho tất cả các cấp độ kinh nghiệm). Nhưng một khi đã hoàn thành, bạn sẽ tìm thấy các ví dụ cho gần như tất cả các ngôn ngữ lập trình chính. Và vì bạn đã giải quyết vấn đề này rồi, nó sẽ giúp bạn hiểu mã người khác. Thêm vào đó bạn có thể xem mã ngôn ngữ mà bạn chưa biết, nhưng có thể thấy thú vị.

3
thorsten müller

Tôi thực sự rất thích đọc Mã đẹp . Nó có các ví dụ mã ngắn, nhưng rất đẹp với các giải thích chi tiết.

... Các nhà khoa học máy tính hàng đầu cung cấp các nghiên cứu trường hợp tiết lộ cách họ tìm thấy các giải pháp được thiết kế cẩn thận khác thường cho các dự án cao cấp. Bạn sẽ có thể nhìn qua vai các chuyên gia thiết kế và mã hóa lớn để nhìn nhận vấn đề qua đôi mắt của họ.

... Các tác giả nghĩ to khi họ làm việc thông qua kiến ​​trúc dự án của họ, sự đánh đổi được thực hiện trong quá trình xây dựng và khi điều quan trọng là phải phá vỡ các quy tắc.

Cuốn sách này bao gồm 33 chương được đóng góp bởi Brian Kernighan, KarlFogel, Jon Bentley, Tim Bray, Elliotte Rusty Harold, Michael Feathers, Alberto Savoia, Charles Petzold, Douglas Crockford, Henry S. Warren, Jr., Ashish Gulhati, Lincoln Stein, Jim Kent , Jack Dongarra và PiotrLuszczek, Adam Kolawa, Greg Kroah-Hartman, Diomidis Spinellis, AndrewKuchling, Travis E. Oliphant, Ronald Mak, Rogerio Atem de Carvalho vàRafael Monnerat, Bryan Cantrill, Jeffan Otte và Douglas C. Schmidt, AndrewPatzer, Andreas Zeller, Yukihiro Matsumoto, Arun Mehta, TV Raman, Laura Wingerd và Christopher Seiwald, và Brian Hayes ...

3
pyvi