Chúng ta có nên để lại chi tiết liên lạc của chúng tôi trong mã nguồn?


15

Tôi thường để lại địa chỉ email của mình như một phép lịch sự trong trường hợp ai đó muốn hỏi tôi một câu hỏi về nó sau này. Những người khác để lại nhiều hay ít thông tin hơn thế? Có ai để lại số điện thoại không ??


7
****** Số ******
Joel Etherton

1
@Joel - ****** Địa ngục số ****** Tôi nhớ một số mã tôi đã giải phóng trên thế giới và tôi thà cố quên nó hơn là bị ai đó nhắc nhở 10 năm kể từ bây giờ hỏi tôi WTF! = P
jmq

Câu trả lời:


28

Tôi gần như không bao giờ để lại tên và địa chỉ email:

  • Nó có xu hướng bị sao chép (vâng, thực hành xấu) ; và tôi kết thúc với việc mọi người liên lạc với tôi về mã mà tôi đã không viết
  • Khi mã được sửa đổi, thông tin liên lạc sẽ không bị xóa cũng như cập nhật; và tôi kết thúc với việc mọi người liên hệ với tôi về mã đã thay đổi rất nhiều, tôi thậm chí không nhận ra nó.

Thay vào đó, tôi thích chỉ cho mọi người vào kho lưu trữ mã (SVN, Git, ...) : ở đó, họ có thể có toàn bộ lịch sử - và tìm ra ai đã viết / sửa đổi phần họ có câu hỏi.


6

Tôi thường có thói quen để lại tên hoặc tên viết tắt của mình trong các tiêu đề bình luận, với số sửa đổi và mô tả ngắn gọn về sự thay đổi.

Gần đây tôi đã thoát khỏi thói quen đó vì thực tế điều này là dư thừa với kiểm soát phiên bản, ví dụ như bất kỳ ai quan tâm đến việc thực hiện những thay đổi nào đều có thể thấy toàn bộ lịch sử của mã nguồn trong kiểm soát phiên bản.


Aha! Đã đến lúc khiếu nại với NetBeans về các mẫu mặc định của họ.
Gio Borje

5

Nếu bạn đang phát triển phần mềm một cách chuyên nghiệp, rất có thể bạn đang sử dụng một số hệ thống kiểm soát phiên bản (svn, hg, git, v.v.). Trong trường hợp này, tôi thấy không cần thiết phải để lại thông tin cá nhân của bạn bên trong mã vì bạn đã có tài khoản mã hóa (với thông tin đó) để có thể cam kết mã trên dự án.

Tuy nhiên, một số người từ cộng đồng nguồn mở cảm thấy thú vị khi để lại tên và địa chỉ email để liên hệ. Đây không phải là một ý tưởng tồi cả. Kiểm tra ví dụ này:

Từ FFmpeg:

/*
 * Interplay C93 video decoder
 * Copyright (c) 2007 Anssi Hannula <anssi.hannula@gmail.com>
 *
 * This file is part of FFmpeg.
 */

Từ DirectFB:

/*
   (c) Copyright 2001-2009  The world wide DirectFB Open Source Community (directfb.org)
   (c) Copyright 2000-2004  Convergence (integrated media) GmbH

   All rights reserved.

   Written by Denis Oliver Kropp <dok@directfb.org>,
              Andreas Hundt <andi@fischlustig.de>,
              Sven Neumann <neo@directfb.org>,
              Ville Syrjälä <syrjala@sci.fi> and
              Claudio Ciccani <klan@users.sf.net>.
*/

3

Nhưng chắc chắn để lại tên và email của tôi có nghĩa là tôi phải viết bình luận trong mã của mình ?? Xin lỗi không phải là một câu trả lời. Trong thực tế, tôi thường để lại bình luận doctype ...

/**
* @author PurplePilot
* @package
* @etc
*/

với tên của tôi nhưng không phải địa chỉ email. Có, mã này có thể bị cắt và dán nhưng nếu máy photocopy không thay đổi tên tác giả thì họ sẽ không thay đổi bất cứ điều gì khác và rõ ràng đó là một nhận xét không rõ ràng.

Thỉnh thoảng tôi có một email tôi sử dụng

/* Anything you put in comments is not tested and easily goes out of date. */

có vẻ như là một sự phản ánh chung của nhiều bài viết khác trong chủ đề này. Tuy nhiên, vì không có quy tắc về chủ đề, lập trình viên cần phải làm những gì họ cảm thấy thoải mái nhất.


Ơ ... cái gì? Tôi nghĩ rằng đây đã là một nhận xét.
Adam Lear

2
@Anna - Err .... Tôi nghĩ đó là một trò đùa.
ocodo

@Slomojo Vâng, tôi hiểu rồi. Tuy nhiên, vẫn nghĩ rằng nó thích hợp hơn như là một nhận xét. Nó dễ thương, nhưng không phải là câu trả lời.
Adam Lear

@Anna, oh tôi hiểu, có lẽ, nhưng nó hoạt động như một câu trả lời cho câu hỏi, khi tôi đọc nó.
ocodo

2

Tôi thường để lại tên viết tắt của mình trong các bình luận (khi thích hợp), nhưng tôi không thấy bất kỳ lý do nào để để lại bất cứ điều gì nữa. Nếu tôi vẫn làm việc tại công ty sở hữu mã, mọi người nên biết cách liên lạc với tôi.

Nếu tôi rời công ty và làm việc ở nơi khác, điều đó không thực sự công bằng với chủ nhân mới của tôi nếu tôi nhận cuộc gọi về phần mềm tại công ty cuối cùng của tôi (người có thể là đối thủ cạnh tranh!).

Nếu mã được chia sẻ theo một cách khác (ví dụ: mã nguồn mở, được đăng trực tuyến), thì có thể đáng để có chi tiết liên hệ của bạn, nhưng nếu mã được truyền theo cách khác, người bạn đã cung cấp mã đó sẽ có khả năng của bạn chi tiết liên lạc, và bạn có thực sự muốn một người lạ ngẫu nhiên gọi hỏi về mã bạn đã viết nhiều năm trước không?


Yep bên trong một công ty có ý nghĩa. Tôi đã suy nghĩ nhiều hơn về mã được phát hành vào phạm vi công cộng.

1
Đối với mã được phát hành công khai, tôi có thể nhưng tên / url / email của tôi trong tiêu đề. Tôi có thể sử dụng một bí danh email duy nhất để tôi có thể lọc / chặn thư nếu cuối cùng nó bị spam do được đăng trực tuyến công khai.
Daniel Tuppeny

2

Có một dòng suy nghĩ cho biết: Đừng đưa vào công cụ mã nguồn của bạn nên nằm trong kiểm soát nguồn.

Thông tin về quyền tác giả là một trong những điều này, vì theo thời gian, mã sẽ được sửa đổi bởi nhiều người với độ chi tiết thấp hơn tệp. Một nhật ký đổ lỗi sẽ cho bạn biết tất cả mọi thứ bạn cần biết.

Điều đó đang được nói, nhiều công ty theo dõi quá trình liệt kê tác giả tập tin gốc và không bao giờ thay đổi nó. Cho dù nó thực sự hữu ích (khi mọi người rời khỏi công ty), tôi không biết.

Tôi nghi ngờ rằng giá trị chính là xây dựng nhận thức. Bạn sẽ không đi và yêu cầu IDE cho bạn biết ai là tác giả của từng tệp mà bạn nhìn thấy, nhưng bằng cách gặp những điều này theo thời gian trong cơ sở mã của nhóm, bạn sẽ có ý tưởng về trách nhiệm và chuyên môn trong dự án.

Đối với miền công cộng - lợi ích là "quảng cáo", nhược điểm là ai đó có thể phá hỏng tệp của bạn trong tương lai nhưng nó vẫn mang tên bạn.


2

Sau 3 thập kỷ lập trình và bảo trì và chuyển đổi phần mềm, tôi có thể nói rằng thông tin tác giả trong mã nguồn là vô giá trị.

Tôi chưa bao giờ có một sử dụng cho nó. Nó không thể được tin tưởng. Không ai trong số họ vẫn được công ty tuyển dụng. Một nửa tên là nhà thầu.


2

Tôi không bao giờ để lại chi tiết liên lạc của tôi trong mã. Nó luôn luôn lỗi thời và dường như gây ra nhiều vấn đề hơn sau đó nó giải quyết.

Những người khác đã chỉ ra khá nhiều vấn đề, nhưng tôi muốn đề cập đến một vấn đề mà tôi nghĩ là những tác động ngấm ngầm nhất.

Nó có thể phá hủy công việc nhóm và chất lượng mã.

Làm thế nào bạn có thể yêu cầu, tất cả phải làm với quyền sở hữu mã tập thể. Nếu bạn đặt tên mã của mình, thì người tiếp theo sẽ nói "đó không phải là mã của tôi, tôi sẽ chỉ X" trong đó X có thể hack nó, bỏ qua nó, v.v. Sau đó, nếu họ sửa nó, họ sẽ sửa nó tất nhiên muốn đặt tên của họ trên mã bởi vì họ đã cải thiện nó. Nhưng sau đó bạn có thể nghĩ, hey tôi đã dành hàng tuần cho mã này và họ đã dành 10 phút tại sao họ lại có được tên của mình ngay. Theo thời gian chu kỳ này tiếp tục và mọi người tranh luận về việc ai sẽ nhận được tín dụng (hoặc đổ lỗi) cho mã.

Nó chỉ không hoạt động tốt cho nhóm. Thay vào đó, nếu nhóm tập trung vào quyền sở hữu tập thể và làm cho tất cả các mã trở nên tuyệt vời mà không có quyền sở hữu, bạn có thể tập trung vào điều thực sự quan trọng là chất lượng của hệ thống. Nếu bạn cần theo dõi ai đã làm việc trên đó, bạn luôn có thể sử dụng VCS để nhận thông tin chi tiết.

Lưu ý: Ngay cả các tiêu đề bản quyền cũng có thể có tác động phá hủy này nếu nó có tên của nhà phát triển, đặc biệt nếu nhà phát triển không hoạt động như những người đóng góp khác. Đó là lý do tại sao trong các dự án Nguồn mở, tôi cố gắng chỉ đề cập đến các tác giả trong một AUTHORS hoặc người đóng góp nộp một vị trí trong dự án.


1
Tôi nghĩ vấn đề của bạn xuất phát từ những đồng nghiệp có đầu óc kém hơn là những bình luận.
Jay

Câu trả lời tuyệt vời, một số dự án nguồn mở thậm chí còn cấm viết thông tin tác giả trong các tệp vì nó phá vỡ quyền sở hữu mã tập thể.
Étienne

1

Tôi không có xu hướng để lại thông tin liên lạc của mình trong mã nguồn vì VCS của tôi đảm nhiệm trách nhiệm cho tôi.

Điều đó nói rằng, nên có thông tin liên hệ của bạn ở đâu đó để những người sử dụng mã có thể liên hệ trực tiếp với bạn để cung cấp phản hồi. Liên kết đến một trang web dự án trong tệp README nói chung là thông lệ tốt.

Công ước xuất phát từ thời đại khi Usenet và IRC được sử dụng thường xuyên để chia sẻ mã nguồn. Vì mã hiếm khi được liên kết từ một VCS và thường được gửi trực tiếp hơn, nếu bạn muốn phản hồi, bạn sẽ phải đưa thông tin liên hệ của mình vào đâu đó.


1

Tôi để lại tên của mình trong các tập lệnh SQL, vì chúng hầu hết sẽ được tìm nạp trực tiếp từ cơ sở dữ liệu, không phải từ kiểm soát nguồn.

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.