2011-07-29 17 views
24

Một trong những nhà phát triển của chúng tôi đã quyết định sẽ quyết định cho các nhà phát triển khác cách mọi người nên định dạng mã nguồn của họ.Chỉ muốn xem mã phong cách Allman và lưu mã kiểu K & R

Myself, tôi là một niềm tin vững chắc rằng Allman phong cách thụt đầu dòng là tốt hơn so với K & R.

Định dạng phong cách cũng giống như tôn giáo, luôn có những người không đồng ý. Không có vấn đề bao nhiêu bằng chứng được chứng minh rằng một trong những là tốt hơn so với khác, mọi người sẽ không chấp nhận nó.

Vì vậy, những gì tôi muốn làm, là mỗi khi tôi mở một tệp trong Eclipse, tôi có nó định dạng mã nguồn, để tôi có thể nhìn vào mã đẹp. Mỗi khi tôi lưu, nó sẽ định dạng theo phong cách chính tả trong văn phòng.

Tôi nghĩ mình đồng ý làm điều này theo cách thủ công và có hai phím nóng cho nó. Ctrl-Alt-PgUp: theo cách của tôi Ctrl-Alt-PgDown: cách cao

Tùy chọn phím nóng có thể là tốt vì sau đó tôi xác minh tất cả là tốt thay vì xảy ra vô hình đằng sau hậu trường.

Eclipse có một tùy chọn định dạng duy nhất. Những gì tôi cần là hai kiểu định dạng và ánh xạ chúng thành một phím tắt. Điều đó có thể, và nếu có, làm thế nào?

+3

Tôi tự hỏi nếu điều này được thực hiện tốt hơn thông qua các móc trong hệ thống kiểm soát phiên bản của bạn. Thiết lập Eclipse theo cách * bạn * muốn nó, nhưng sau đó buộc VCS của bạn thực hiện mã theo cách nhóm của bạn muốn nó. Bạn đang sử dụng VCS nào? – MatrixFrog

+0

+1 cho tính thực tiễn. Cách tuyệt vời để có thể thực sự xoa dịu tất cả mọi người mà không có tất cả các vấn đề mà bạn thường gặp phải. –

+0

Nếu tất cả các bạn đều có các kiểu định dạng của riêng bạn được đặt trong Eclipse, tại sao nó lại quan trọng trong kho lưu trữ? Tất cả những người tải nó sẽ tự động kết thúc với mã có vẻ tốt cho họ. – James

Trả lời

7

Vâng, có vẻ như cuộc tranh luận lâu đời đã trở lại. Thật không may, Eclipse JDT UI không hỗ trợ áp dụng các trình định dạng mã khác nhau.

bug no 45423, được thiết kế để giải quyết vấn đề này. Miễn là lỗi đó vẫn chưa được giải quyết, cách giải quyết tốt nhất sẽ áp dụng một trình định dạng trong một móc cam kết vì mỗi dự án được liên kết với trình định dạng riêng của nó; bạn thậm chí không thể chọn một trình định dạng khác để áp dụng cho hành động lưu tệp (Preferences -> Java -> Trình soạn thảo -> Lưu Hành động). Thành thật mà nói, tôi không nghĩ rằng phím tắt thậm chí sẽ hoạt động.

Ngoài ra, có thể điều tra việc sử dụng Questoid Code Formatter, dường như là plugin gần nhất (hoặc chỉ) để hỗ trợ nhu cầu của bạn. Tôi đã không cố gắng sử dụng nó; Tôi chỉ đọc mô tả từ Eclipse Marketplace.

5

Lời khuyên của tôi: chỉ học cách chịu đựng sự xấu xí. Trừ khi bạn "so sánh với lịch sử trong SCM" chức năng là thực sự tốt đó là tất cả quá dễ dàng để có được sự khác biệt giả mạo khi định dạng.

+4

Vì vậy, tất cả các định dạng độc đáo dễ đọc mã quen thuộc tôi đã viết trong những năm bị trashed trong lợi của xấu xí squishy stringy dính goo của mã blobs, và tôi phải chỉ ngồi đó xem nó xảy ra? – Mike

+2

Vâng, tôi đoán tôi di chuyển xung quanh rất nhiều dự án, và thực sự các công ty, mỗi với phong cách riêng của họ, tôi có ít lựa chọn nhưng để gắn bó với bất cứ điều gì là phong cách nhà hiện tại. Vì vậy, tôi đã trở nên kiên trì với những thứ như vậy. Phải thừa nhận tôi nghĩ rằng đó là điên rồ để đi qua và buộc mã cơ sở tốt đẹp của bạn thành một số định dạng mới, phải thực sự bị tổn thương. – djna

4

Với tất cả sự kính trọng đối với Mike, nếu bạn không thể đánh bại họ, hãy tham gia cùng họ. Thật vậy, học cách chịu đựng sự xấu xa, như djna đã khuyên. Tôi đưa ra lời khuyên này sau khi đã dành toàn bộ sự nghiệp lặng lẽ chiến đấu trong trận chiến này.

Tôi tin rằng mã hóa kiểu Allman tốt hơn trong một số cách có ý nghĩa, quan trọng, bắt đầu với việc căn chỉnh mã và làm rõ các khối mã. Người theo phong cách Allman có khuynh hướng là những người thích/chịu đựng nhiều hơn việc sử dụng khoảng trống dọc để giúp làm rõ những thứ đi cùng nhau và khi một bước hoặc giai đoạn mới bắt đầu.

Từ nghiên cứu giai thoại của riêng tôi, lợi thế chính của K & R thường được trích dẫn, khác với sự kính trọng đến tiền lệ trước đó, là K & R là một phong cách ưa chuộng bởi những người thích để xem mã nhiều hơn trên một màn hình. Vâng, đó là sự thật, đó là lý do chính. Mật độ mã. Tôi nghĩ rằng vấn đề này sẽ chết sau cái chết cuối cùng của nó một khi chúng tôi đã qua tuổi 80 x 25 màn hình giao diện điều khiển nhân vật vào đầu những năm 90, nhưng than ôi, nhưng có vẻ như không quan trọng. Vì vậy, đối với những người thích mật độ mã để họ có thể xem thêm mã trên một màn hình tại một thời điểm, chúng tôi phải chịu hàng triệu dòng mã kiểu K & R.* Sigh *

Tóm lại: Bạn không thể giành chiến thắng một cuộc chiến tôn giáo. Nó không đáng để nỗ lực. Khi ở Rome, làm như người La Mã làm và chỉ học cách sống với những gì được. Đây là một vấn đề khiến chúng ta phải đối mặt với tâm lý, bởi vì nó là loại Power and Control. Nhưng tất cả chúng ta đều hiểu rằng một số điều chúng ta đơn giản là không có quyền lực hoặc kiểm soát hợp pháp, vì vậy hãy để những điều đó và học cách thích ứng. Đó thực sự là cách đúng để tiếp cận sự nghiệp phát triển phần mềm của bạn.

+5

Tôi thực sự đã học được rằng người ta không thể thay đổi tôn giáo của một người, ngay cả khi bằng chứng cho thấy họ sai. Hiện tại, phần lớn mã mà tôi "sở hữu" bên trong công ty, tôi để nó là Allman. Một khi tôi buộc phải đối phó với rất nhiều K & R một lần nữa, tôi có thể sẽ tìm kiếm, hoặc người nào khác viết một IDEA plugin sẽ cho phép xem Allman và lưu K & R. Bướng bỉnh? Có lẽ. Nhưng tôi từ chối bị làm chậm bởi mã lộn xộn. – Mike

Các vấn đề liên quan