nền tảng tốt nhất để giải thích mã giả cho nhà phát triển không biết gì về nó? [đóng cửa]


8

Tôi là một người khoa học cần ghi lại mã Matlab phức tạp để trao cho nhà phát triển để anh ấy / cô ấy hiểu và lập trình bằng một ngôn ngữ khác. Trước đây, tôi đã sử dụng MS Word (giải thích từng bước chương trình dưới dạng một hàng mới trong bảng) và sau đó là Excel, nhưng không thấy đặc biệt phù hợp để hiển thị mã Matlab của tôi và nhập nhận xét một cách rõ ràng và súc tích cách để tài liệu nó.

Tôi tự hỏi liệu có kỹ thuật nào tốt hơn để giao tiếp mã giả cho nhà phát triển. Bất kỳ phần mềm hiện có (miễn phí?) Hoặc nền tảng khác (ví dụ TextWrangler) đặc biệt phù hợp để cung cấp mã và một số phương pháp để giải thích nó? Hy vọng học hỏi kinh nghiệm của người khác khi làm điều tương tự. Cảm ơn trước.

Sau khi đọc một số bình luận, hãy để tôi cố gắng giải thích thêm ... Tôi giả sử tất cả các nhà phát triển đều biết mã giả, nhưng tôi không cho rằng nhiều người biết mã Matlab. Vì vậy, nếu tôi viết bằng mã giả, tôi có thể bỏ qua mã Matlab (hoặc cung cấp nó để tham khảo, v.v.). Nhưng câu hỏi của tôi thực sự đơn giản hơn ... có phần mềm hay nền tảng nào mà mọi người đã sử dụng trong quá khứ để truyền đạt mã rõ ràng cho nhà phát triển không? Một cái gì đó cho phép người tạo tài liệu dễ dàng mô tả mã? Ví dụ: bạn có thể nhúng mã màu mã phần mềm (một màu cho ý kiến, một màu khác cho các từ dành riêng (nếu, sau đó, khác, v.v.), v.v.), và dọc theo một bên có chỗ để tôi nhập giải thích và tài liệu tham khảo, v.v. Tôi đã thử làm điều này bằng cách sử dụng các sản phẩm của MS, nhưng nghĩ rằng có một ngành công nghiệp của những người cần phải làm điều tương tự,


1
Tôi tự hỏi nếu câu hỏi này chỉ được nói kém hoặc tôi hiểu lầm. Làm thế nào một nhà phát triển có thể không hiểu mã giả là gì? Bạn đang nói về các tài liệu cấp cao về cách thức hoạt động của chương trình?
Daenyth

4
Tại sao cung cấp cho các nhà phát triển mã giả? Tại sao không cung cấp cho họ mã Matlab đó và để họ chuyển đổi chúng theo chủ đề? Một nhà phát triển đàng hoàng sẽ có thể học Matlab và tìm ra cách chương trình hoạt động.
Thất vọngWithFormsDesigner

1
Tôi nghĩ rằng anh ấy đang mô tả một nhà phát triển không biết gì về MatLAB, điều này thậm chí có thể hiểu được vì trước đây là một ngôn ngữ lập trình rất thích hợp. Điều tôi nghi ngờ OP đang hỏi là điều gì đó dọc theo dòng chữ "Bạn có biết bất kỳ hệ thống / quy trình / quy trình đã được chứng minh nào sẽ giúp việc chuyển đổi dễ dàng hơn cho một người hoàn toàn không biết về MATLAB để hiểu rõ về nó và dịch mã sang ngôn ngữ lập trình khác không? " Nhưng sau đó, chỉ có tôi, tôi có thể sai!
Andrea Raimondi

1
Lời nên phù hợp. Có hai cách tiếp cận bạn có thể thực hiện. Định hướng trang ở chế độ ngang và hiển thị mã MATLAB ở phía bên trái và chú thích của bạn ở phía bên phải. Hoặc chân dung và chuyển đổi qua lại giữa mã và giải trình.
GEL

1
Nếu tôi là nhà phát triển tôi muốn biết %bắt đầu một bình luận, và sau đó tôi muốn các bình luận giải thích được thêm vào mã Matlab. Và hãy để tôi trở lại với những câu hỏi về những điều không có ý nghĩa với tôi. Đó sẽ là dễ dàng nhất xung quanh.
btilly

Câu trả lời:


4

đặt mã MATLAB vào ms-word; thay đổi phông chữ thành chuyển phát nhanh (monospace) nếu nó giúp

đánh dấu từng dòng và sử dụng Chèn Nhận xét (trong tab Đánh giá trong từ 2010) để nhập giải thích của bạn

nhà phát triển có thể làm tương tự; từ sẽ làm cho các hộp nhận xét khác nhau cho mỗi bạn


Cảm ơn Steven, đây là loại câu trả lời tôi đã hy vọng nhìn thấy. Tôi đã nghĩ về việc thực hiện điều này thực sự, nhưng hy vọng sẽ có một phương pháp thay thế dành riêng cho một nhiệm vụ như vậy cho các lập trình viên (không thực sự là một mình). Cảm ơn
gkdsp

@gkdsp: có lẽ là có, nhưng rất có thể mọi người đang đấu thầu dự án sẽ có ms-word
Steven A. Lowe

4
@Stephen A. Lowe: Là một người Linux / Mac, tôi ghét điều đó khi mọi người cho rằng tôi có từ ms.
btilly

@btilly: Hầu hết mọi người đều làm. Trừ khi bạn có một lý do triết học hoặc đạo đức không, bạn cũng nên như vậy. Nếu không, bạn chỉ cần gây ra vấn đề cho chính mình và (có khả năng) những người khác.
Richard

2
@btilly: mở văn phòng và ngừng hoạt động ';-)
Steven A. Lowe

2

Tôi sẽ thuê một lập trình viên đã quen thuộc với Matlab. Ít đau hết vòng cho mọi người. Có rất nhiều nhà toán học cũ của chúng tôi làm việc trong lĩnh vực phát triển phần mềm :-)


2
+1: nếu nhà phát triển bạn không muốn học Matlab, hãy tìm nhà phát triển tốt hơn. Ngoài ra, nếu anh ta không sẵn lòng học Matlab, anh ta có thể làm tốt như thế nào trong bản dịch?
kevin cline

Tôi chắc chắn nghĩ rằng việc tìm kiếm một người đã biết Matlab sẽ dễ dàng hơn nhiều và khiến họ học ngôn ngữ thứ 2, thay vì ngược lại. (Trừ khi ngôn ngữ thứ 2 là một thứ thậm chí còn khó hiểu và khó học hơn! LOL)
TrojanName

1

Bảng trắng!

Cú pháp của MATLAB khá xa so với ngôn ngữ thủ tục "thông thường" (~ = vì không bằng !!!!?), Vì vậy, việc ghi lại mọi dòng mã có thể sẽ không quá hữu ích (chuyển đổi ma trận một dòng trong Ví dụ, MATLAB sẽ dịch sang vài trăm dòng mã C).

Tại sao không dành một chút thời gian để tìm hiểu ý chính của chức năng của chương trình với nhà phát triển trước bảng trắng với máy tính xách tay có (hoặc in ra) mã trong tay. Bằng cách đó, bạn có thể bị mắc kẹt vào các bit khó hiểu của chính chương trình, chứ không phải cú pháp MATLAB.

Nếu bạn thực sự chỉ mong họ dịch nó sang một ngôn ngữ khác mà bạn không muốn họ phải biết về cách xử lý của MATLAB, thì có lẽ nó sẽ không dịch tốt sang các ngôn ngữ khác, MATLAB là rất chuyên môn để làm việc với ma trận. Thực sự bạn chỉ cần họ biết rằng bạn cần nhân ma trận A với sản phẩm B và làm X với đầu ra.


Tôi đồng ý Ed. Một dòng mã Matlab có thể là một thứ rất nhiều trong ngôn ngữ khác. Đó là lý do tại sao tôi không nghĩ chỉ cần cung cấp chương trình Matlab là đủ. Về bảng trắng, điều đó đòi hỏi bạn phải ở cùng thành phố / tiểu bang / quốc gia, điều này thường không thể thực hiện được. Ngoài ra, tôi đang tạo tài liệu cho các công ty đấu thầu dự án. Tôi cần giải thích những gì tôi muốn họ làm trước khi quyết định nhóm hoặc cá nhân sẽ làm điều đó.
gkdsp

1
Trời ơi. Tôi không ghen tị với bạn, HOẶC công ty thắng thầu.
Kevin

Ah, bạn đã không lưu ý sự thiếu gần gũi về thể chất trong câu hỏi vì vậy tôi xin lỗi đây không phải là một sự phù hợp tuyệt vời. Tôi đã có công việc làm việc với MATLAB trong nhiều trường hợp và theo như tôi lo ngại thì mã nguồn sẽ vô dụng một cách hiệu quả trừ khi cả hai bạn đều thành thạo MATLAB để bắt đầu và cũng thành thạo về những gì mã thực sự làm . Tôi chắc chắn sẽ cố gắng đi với một số phương pháp hình ảnh để có được thông điệp, như sơ đồ hoặc một cái gì đó. Có lẽ một loạt (tôi không thể tin rằng tôi đang đề xuất điều này) sơ đồ hoạt động UML có thể phù hợp?
Ed James

1
Thành thật mà nói, nếu tôi sắp có một loạt mã, văn bản và hình ảnh được định dạng xen kẽ, có lẽ tôi sẽ chọn LaTeX và xuất nó thành PDF. Lợi ích lớn của LaTeX so với word là nó thực sự có thể xử lý mã độc đáo (điều mà tôi chưa bao giờ quản lý để có được Word để làm đúng).
Ed James

1
whitebord + videorecorder

1

Cách sử dụng các công cụ đánh giá mã như Rietveld hoặc ReviewBoard

Bạn có thể thêm nhận xét và thảo luận không phải là một phần của mã Matlab.


0

Tôi là một người khoa học cần ghi lại mã Matlab phức tạp để trao cho nhà phát triển để anh ấy / cô ấy hiểu và lập trình bằng một ngôn ngữ khác. Trước đây, tôi đã sử dụng MS Word (giải thích từng bước chương trình dưới dạng một hàng mới trong bảng) và sau đó là Excel, nhưng không thấy đặc biệt phù hợp để hiển thị mã Matlab của tôi và nhập nhận xét một cách rõ ràng và súc tích cách để tài liệu nó.

Chà, Word có thể hoạt động ... tôi đoán thế. Bạn xác định các kiểu khác nhau cho các phần khác nhau của mã (nhận xét màu xanh lục, mã trong ...). Không chắc chắn mặc dù thực tế này là bao nhiêu. Có gì sai khi chỉ xuất nó dưới dạng HTML và phục vụ nhà phát triển trong câu hỏi đó. Anh ta luôn có thể sử dụng trợ giúp trực tuyến, nếu có vấn đề, nếu anh ta / cô ta chưa cài đặt MATLAB.

Sau khi đọc một số bình luận, hãy để tôi cố gắng giải thích thêm ... Tôi giả sử tất cả các nhà phát triển đều biết mã giả, nhưng tôi không cho rằng nhiều người biết mã Matlab. Vì vậy, nếu tôi viết bằng mã giả, tôi có thể bỏ qua mã Matlab (hoặc cung cấp nó để tham khảo, v.v.).

Vì bạn đang dịch mã MATLAB và bạn nói bạn là người khoa học, nên người ta có thể cho rằng các phương trình toán học có thể là một phương án khả thi.

Lưu ý thận trọng mặc dù ... đôi khi các hàm MATLAB được sử dụng KHÔNG phải là các hàm được mô tả trong trợ giúp. Kiểm tra mã mới của bạn trên đường đ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.