Xác định thực hành mã hóa tốt hơn


8

Là một lập trình viên mới, việc tạo ra các ứng dụng luôn khó khăn, bởi vì tôi vẫn đang ở giai đoạn học tập.

Tôi hiểu rằng để đạt được một ảnh hưởng hoặc chức năng cụ thể trong một ứng dụng, sẽ có nhiều cách để đạt được kết quả tương tự.

Tuy nhiên, tôi chỉ nên hoàn toàn tạo ra một chức năng cho trạng thái hoạt động của nó, điều đó có nghĩa là miễn là nó hoạt động, giống như cách tôi muốn, thì nó sẽ ổn.

Bất kỳ lập trình viên đồng cấp nào ở cấp cao hơn có thể vui lòng cho tôi biết cách làm việc đúng đắn không?



Tôi biết rằng bạn đã hỏi về mã hóa, nhưng đó là một phần rất nhỏ trong những gì tạo nên một kỹ sư phần mềm. Tìm hiểu về phân tích yêu cầu, trường hợp sử dụng, kiến ​​trúc phần mềm, mẫu thiết kế, tài liệu thiết kế chi tiết, kiểm tra đơn vị tự động , kiểm tra hệ thống, kiểm tra tích hợp, gỡ lỗi, theo dõi lỗi, ước tính nỗ lực, lập kế hoạch dự án, làm việc nhóm, ông chủ đứng đầu, làm thêm giờ, Mountain Dew ...
Mawg nói rằng phục hồi Monica

Câu trả lời:


4

Có một số tiêu chuẩn mã hóa "đã biết" mà bạn có thể xem xét. Ví dụ, để phát triển C nhúng - MISRA C sẽ là một khởi đầu tốt. Đây là một tiêu chuẩn mã hóa C ++ tốt đẹp. Có lẽ có những người khác có sẵn cho các ngôn ngữ khác.

Cuối cùng, rất nhiều ý nghĩa thông thường và thông lệ chung, bạn có được điều đó bằng kinh nghiệm. Tất nhiên, nơi làm việc có các tiêu chuẩn mã hóa riêng (hoặc ít nhất nên có) mà bạn cũng nên tuân thủ.


Bây giờ, đã được một thời gian kể từ khi tôi đọc nó, nhưng tôi dường như nhớ lại rằng MISRA là một trò đùa hoàn toàn. #
DeadMG

1
@DeadMG - Trò đùa? Không. Tại sao? Nó được nhắm mục tiêu cho một phân khúc nhất định và đối với những người không thuộc phân khúc đó, nó có thể trông giống như một khoản quá mức. Nhưng đối với sự phát triển quan trọng về an toàn, đó sẽ là một hướng dẫn rất tốt. Tôi đã làm việc với MISRA C khi tôi đang phát triển một tiêu chuẩn mã hóa cho nhóm của mình và tôi đã lấy khá nhiều thứ từ đó (nhưng chắc chắn không phải là tất cả, chúng tôi không phát triển mã quan trọng an toàn không có lỗi). Tuy nhiên tôi đang đề cập đến nó ở đây như một ví dụ về một tiêu chuẩn mã hóa rất toàn diện.
littleadv

Đã được một thời gian kể từ khi tôi đọc nó, vì vậy tôi không nhớ bất kỳ ví dụ cụ thể nào. Tuy nhiên, tôi nhớ lại việc đọc nó và giữ niềm tin vững chắc rằng nó được viết bởi những người không biết họ đang làm gì hoặc nói gì.
DeadMG

@DeadMG - có vẻ như với tôi rằng bạn không biết nó được thiết kế để làm gì.
littleadv

4

Câu thần chú mà tôi nhắc lại với các dev của tôi là "Làm cho nó hoạt động, sau đó làm cho nó đẹp hơn." Mã của bạn nên tuân theo một tiêu chuẩn để đặt tên và những gì không. Tôi sử dụng Hướng dẫn thiết kế khung khi viết C # với một ngoại lệ: Tôi luôn đặt _ trước tên của một thành viên riêng. Làm cho việc tìm kiếm chúng dễ dàng hơn nhiều.

Dù sao, có một câu hỏi thứ hai ở đây. Và đó là cách cải thiện mã mà bạn đã viết. Tôi sẽ chỉ đến Clean CodeTriple P vì phải đọc cho các nhà phát triển muốn tìm hiểu cách viết mã tốt hơn.


4

Tất cả chúng ta vẫn đang ở giai đoạn học tập. No se tôn tại Mai Mai.

Tôi nghĩ rằng cách tốt nhất để cải thiện kiến ​​thức của bạn là học từ mã của người khác hoặc bằng cách lập trình cặp với cấu hình cao hơn bạn.

Do đó, bạn nên làm như sau:

  • Yêu cầu xem xét cặp hoặc lập trình tích cực. Đừng chờ đợi điều này sẽ được đề xuất với bạn. Nếu bạn là một nhà phát triển solo, hãy xem xét các nền tảng đánh giá trực tuyến .

  • Đọc càng nhiều mã càng tốt. Đó là cách tôi tìm hiểu nhiều tính năng của .NET framework. "Ồ tôi không biết tôi có thể làm điều đó chỉ trong một dòng mã!". Nó giống như các nhà văn tiểu thuyết lấy ý tưởng của họ từ các tác giả khác. Không biết nhìn vào đâu? Chọn một dự án nguồn mở ngẫu nhiên và duyệt trong đó, giống như Stanley Kubrick đã làm để lấy cảm hứng của mình : đi đến thư viện và chọn BẤT K book cuốn sách nào trong danh mục BẤT K ..

Trong một tiểu sử của Kubrick, anh được mô tả là sử dụng một phương pháp đơn giản để mở rộng nền tảng kiến ​​thức của mình. Anh ta sẽ đến thăm thư viện của mình và chọn những cuốn sách ngẫu nhiên từ các danh mục thông tin ngẫu nhiên, thậm chí không cần nhìn vào các tiêu đề. Anh ta sau đó sẽ buộc mình đọc những cuốn sách đó. Bằng cách này, Stanley đã buộc tâm trí của mình phải mở rộng sang lãnh thổ mới một cách thường xuyên.

Để học nhanh hơn nữa, hãy đặt những gì bạn thấy trong thực tế, vào mã của riêng bạn hoặc trong các dự án mẫu. Nó sẽ giúp rất nhiều để ghi nhớ.

Học tập có lẽ là điều thúc đẩy tất cả chúng ta trong lập trình. Đó là một cuộc thám hiểm vĩnh viễn.


2

Thực tế, bạn không thể phù hợp với tiêu chuẩn mã hóa của người khác. Điều này là do họ có những yêu cầu mà bạn có thể không có. Ví dụ: xem hướng dẫn về phong cách C ++ của Google. Đó không phải là vì nó tạo ra C ++ tốt, mà chính xác là ngược lại - bởi vì nó tạo ra C ++ khủng khiếp theo kiểu C để họ có thể tương tác với mã C kế thừa của họ.

Cách duy nhất để phát triển thực tế các tiêu chuẩn mã hóa tốt là kế thừa chúng từ một người đã làm việc với codebase trong một thời gian dài hoặc học hỏi từ kinh nghiệm khó khăn của chính bạn khi làm việc với nó.

Bạn nên thiết kế trước, sau đó là mã. Lao vào lập trình là một thói quen xấu. Nhưng đừng làm cho nó đẹp lên - đó chỉ là một sự lãng phí thời gian.


0

Một số cách cải thiện tốt là:

  • đọc sách
  • làm việc trong một nhóm, dưới quyền của các nhà phát triển có kinh nghiệm

Bạn không cung cấp cho chúng tôi nhiều thông tin để giúp bạn chính xác hơn ...


0

Tôi sẽ tiếp cận các cải tiến từ một số hướng:

Sử dụng một số công cụ / plugin cung cấp cho bạn thông tin phản hồi tức thì trong quá trình lập trình, để bạn có thể làm cho mã của mình dễ đọc hơn, có thể sử dụng, mạnh mẽ, hiệu suất, chính xác. Chẳng hạn trong Java, bạn có thể sử dụng checkstyle, PMD, Findbugs

Viết thử nghiệm: điều đó một mình cải thiện quá trình phát triển của bạn và cung cấp cho bạn một mạng lưới an toàn khi bạn đang thử nghiệm và cố gắng cải thiện mã của mình, ví dụ: bằng cách tái cấu trúc.

Sử dụng số liệu để kiểm tra kết quả của bạn và nhận thêm gợi ý. Ví dụ trong Java, bạn là jdepend, metrics, JavaNCSS, EclEmma.

Nhận ý tưởng và thông tin mới bằng cách

  • đọc sách
  • mã xem lại
  • lập trình cặp
  • nói chuyện với các nhà phát triển khác, ví dụ như trong các cuộc họp túi nâu / giờ nghỉ trưa
  • nghe podcast
  • đọc bài viết stackexchange.

0

Cá nhân tôi là fan hâm mộ của tiêu chuẩn toàn vẹn C ++ .

Các quy tắc là vô cùng khách quan, không có quy ước đặt tên chẳng hạn.

3 lớp

3.1 Tổng quát

Cao Liêm CPP Rule 3.1.1 Tổ chức 'lớp' định nghĩa bởi cấp độ truy cập, theo thứ tự sau: public, protected, private. (QACPP 2108, 2109, 2191, 2192, 2195)

Thứ tự biện minh bằng cách giảm phạm vi của khán giả. Nhà thiết kế chương trình khách hàng cần biết các thành viên công cộng; người thiết kế các lớp con tiềm năng cần biết về các thành viên được bảo vệ; và chỉ những người thực hiện của lớp cần biết về các thành viên và bạn bè tư nhân.

class C // correct access order
{
public: // ...
protected: // ...
private: // ...
};

Tham chiếu cường độ công nghiệp C ++ A.12, A.13;

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.