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 ??
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 ??
Câu trả lời:
Tôi gần như không bao giờ để lại tên và địa chỉ email:
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.
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.
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>.
*/
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.
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?
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.
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.
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 đó.