เราควรฝากรายละเอียดการติดต่อไว้ในซอร์สโค้ดหรือไม่?


15

ฉันมักจะปล่อยให้ที่อยู่อีเมลของฉันเป็นมารยาทในกรณีที่มีคนต้องการถามฉันเกี่ยวกับเรื่องนี้ในภายหลัง คนอื่น ๆ ปล่อยให้ข้อมูลมากไปหรือน้อยไปกว่านั้น? ไม่มีใครฝากหมายเลขโทรศัพท์หรือไม่?


7
****** ไม่ใช่ ******
Joel Etherton

1
@Joel - ****** เลขที่นรก ****** ฉันจำรหัสบางส่วนที่ฉันปล่อยให้โลกรู้และฉันอยากจะลืมมันมากกว่าที่จะได้รับการเตือนจาก 10 ปีจากนี้ ถามฉัน WTF! = P
jmq

คำตอบ:


28

ฉันแทบไม่เคยออกจากชื่อหรือที่อยู่อีเมลของฉัน:

  • มันมีแนวโน้มที่จะได้รับการคัดลอก(ใช่การปฏิบัติที่ไม่ดี) ; และท้ายที่สุดผู้คนที่ติดต่อฉันเพื่อขอรหัสที่ฉันไม่ได้เขียน
  • เมื่อมีการแก้ไขรหัสข้อมูลผู้ติดต่อจะไม่ถูกลบหรืออัปเดต และท้ายที่สุดฉันก็มีคนที่ติดต่อฉันเกี่ยวกับโค้ดที่มีการเปลี่ยนแปลงมากจนฉันจำไม่ได้

แต่ฉันชอบชี้ให้ผู้คนไปยังที่เก็บรหัส(SVN, Git, ... ) : ที่นั่นพวกเขาสามารถมีประวัติเต็มได้ - และหาผู้ที่เขียน / แก้ไขส่วนที่พวกเขามีคำถามเกี่ยวกับ


6

ฉันเคยมีนิสัยชอบออกจากชื่อหรือชื่อย่อของฉันในส่วนหัวของความคิดเห็นพร้อมหมายเลขการแก้ไขและคำอธิบายสั้น ๆ ของการเปลี่ยนแปลง

ฉันเพิ่งเลิกนิสัยนี้ไปแล้วเนื่องจากความจริงนี้ซ้ำซ้อนกับการควบคุมเวอร์ชันเช่นผู้ที่สนใจว่าใครทำการเปลี่ยนแปลงอะไรสามารถดูประวัติทั้งหมดของซอร์สโค้ดในการควบคุมเวอร์ชัน


Aha! เวลาที่จะบ่นกับ NetBeans เกี่ยวกับแม่แบบเริ่มต้นของพวกเขา
Gio Borje

5

หากคุณกำลังพัฒนาซอฟต์แวร์อย่างมืออาชีพคุณมักจะใช้ระบบควบคุมเวอร์ชันบางตัว (svn, hg, git, etc) ในกรณีนี้ฉันพบว่ามีความซ้ำซ้อนในการเก็บข้อมูลส่วนบุคคลของคุณไว้ในรหัสเนื่องจากคุณมีบัญชี coder (พร้อมข้อมูลนั้น) เพื่อให้สามารถส่งรหัสในโครงการได้

อย่างไรก็ตามบางคนจากชุมชนโอเพนซอร์สพบว่ามันน่าสนใจที่จะทิ้งชื่อและที่อยู่อีเมลไว้สำหรับการติดต่อ นี่ไม่ใช่ความคิดที่ดีเลย ตรวจสอบตัวอย่างนี้:

จาก FFmpeg:

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

จาก 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

แต่การทิ้งชื่อของฉันและหรืออีเมลก็หมายความว่าฉันควรจะเขียนความคิดเห็นในโค้ด ขออภัยไม่ใช่คำตอบ ในความเป็นจริงฉันมักจะแสดงความคิดเห็นประเภทของ ...

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

ด้วยชื่อของฉัน แต่ไม่ใช่ที่อยู่อีเมล ใช่รหัสนี้สามารถถูกตัดและวาง แต่ถ้าเครื่องถ่ายเอกสารไม่เปลี่ยนชื่อผู้เขียนพวกเขาจะไม่เปลี่ยนแปลงอะไรอย่างอื่นและเห็นได้ชัดว่ามันเป็นความคิดเห็น unmaintained

ฉันมีอีเมลที่ฉันใช้เป็นครั้งคราวซึ่งจะไป

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

ซึ่งดูเหมือนจะเป็นภาพสะท้อนทั่วไปของโพสต์อื่น ๆ ในกระทู้นี้ อย่างไรก็ตามเนื่องจากไม่มีกฎเกณฑ์ในเรื่องที่โปรแกรมเมอร์ต้องทำในสิ่งที่พวกเขารู้สึกสบายใจที่สุด


เอ่อ ... อะไรนะ? ฉันคิดว่านี่น่าจะเป็นความคิดเห็น
อดัมเลียร์

2
@ อันนา - เอ่อ .... ฉันคิดว่ามันควรจะเป็นเรื่องตลก
ocodo

@Slomojo ใช่ฉันได้รับมัน ยังคงคิดว่ามันเหมาะสมกว่าสำหรับความคิดเห็น มันน่ารัก แต่ไม่ใช่คำตอบ
อดัมเลียร์

@ อันนา, โอ้ฉันเห็นบางที แต่มันทำงานเป็นคำตอบสำหรับคำถามเมื่อฉันอ่านมัน
ocodo

2

ฉันมักจะใส่ชื่อย่อไว้ในความคิดเห็น (ตามความเหมาะสม) แต่ฉันไม่เห็นเหตุผลที่จะออกจากสิ่งใดเพิ่มเติม หากฉันยังคงทำงานใน บริษัท ที่เป็นเจ้าของรหัสคนควรรู้วิธีการติดต่อกับฉัน

ถ้าฉันออกจาก บริษัท และทำงานที่อื่นมันไม่ยุติธรรมเลยสำหรับนายจ้างใหม่ของฉันถ้าฉันรับสายเกี่ยวกับซอฟต์แวร์ที่ บริษัท สุดท้ายของฉัน (ซึ่งอาจเป็นคู่แข่ง!)

หากมีการแชร์รหัสในลักษณะอื่น (เช่นโอเพ่นซอร์สโพสต์ออนไลน์) อาจเป็นไปได้ที่จะมีรายละเอียดที่อยู่ติดต่อของคุณ แต่ถ้ารหัสนั้นถูกส่งไปในทางอื่นบุคคลที่คุณมอบให้จะมีโอกาส รายละเอียดการติดต่อและคุณต้องการให้คนแปลกหน้าโทรสุ่มถามเกี่ยวกับรหัสที่คุณเขียนเมื่อปีก่อนหรือไม่?


ใช่ภายใน บริษัท ที่สมเหตุสมผล ฉันคิดถึงรหัสที่เผยแพร่สู่สาธารณสมบัติมากขึ้น

1
สำหรับรหัสที่เผยแพร่สู่สาธารณะฉันอาจเป็น แต่ชื่อ / url / email ของฉันในส่วนหัว ฉันอาจใช้ชื่อแทนอีเมลที่ไม่ซ้ำกันเพื่อให้ฉันสามารถกรอง / บล็อกอีเมลหากได้รับอีเมลขยะเนื่องจากมีการโพสต์ออนไลน์แบบสาธารณะ
Danny Tuppeny

2

มีแนวความคิดที่บอกว่า: อย่าใส่ข้อมูลในซอร์สโค้ดของคุณที่ควรอยู่ในการควบคุมซอร์ส

ข้อมูลการประพันธ์เป็นหนึ่งในสิ่งเหล่านี้เนื่องจากเมื่อเวลาผ่านไปรหัสจะถูกแก้ไขโดยคนจำนวนมากที่น้อยกว่าความละเอียดไฟล์ บันทึกการตำหนิควรบอกทุกสิ่งที่คุณจำเป็นต้องรู้

ดังที่กล่าวไปแล้วหลาย บริษัท ติดตามการเปลี่ยนแปลงของรายชื่อผู้เขียนไฟล์ต้นฉบับและไม่เคยเปลี่ยนแปลง ไม่ว่าจะเป็นประโยชน์จริง ๆ (เมื่อคนออกจาก บริษัท ) ฉันไม่รู้

ฉันสงสัยว่าค่านิยมหลักคือการสร้างความตระหนัก คุณจะไม่ไปและขอให้ IDE บอกคุณว่าใครเป็นผู้แต่งไฟล์แต่ละไฟล์ที่คุณเห็น แต่โดยการเผชิญหน้ากับโค้ดฐานของกลุ่มเมื่อเวลาผ่านไปคุณจะได้รับแนวคิดและความรับผิดชอบในโครงการ

สำหรับโดเมนสาธารณะ - ประโยชน์คือ "โฆษณา" ข้อเสียคือมีคนอาจทำลายไฟล์ของคุณในอนาคต แต่มันจะยังคงแบกชื่อของคุณ


2

หลังจาก 3 ทศวรรษของการเขียนโปรแกรมและการบำรุงรักษาและการแปลงซอฟต์แวร์ฉันสามารถพูดได้อย่างปลอดภัยว่าข้อมูลผู้เขียนในซอร์สโค้ดนั้นไม่มีค่า

ฉันไม่เคยใช้มันมาก่อน มันไม่น่าเชื่อถือ บริษัท ยังไม่มีคนจ้างงาน ครึ่งหนึ่งเป็นชื่อผู้รับเหมา


2

ฉันไม่เคยทิ้งรายละเอียดการติดต่อไว้ในรหัส มันล้าสมัยและดูเหมือนว่าจะทำให้เกิดปัญหามากขึ้นแล้วก็แก้ปัญหาได้

คนอื่น ๆ ได้ชี้ให้เห็นถึงปัญหาบางอย่าง แต่ฉันต้องการพูดถึงสิ่งที่ฉันคิดว่าเป็นผลร้ายกาจที่สุด

สามารถทำลายการทำงานเป็นทีมและคุณภาพของรหัส

คุณจะถามได้อย่างไรว่าทุกอย่างเกี่ยวข้องกับการเป็นเจ้าของรหัสโดยรวม หากคุณใส่ชื่อรหัสของคุณจากนั้นคนต่อไปที่เข้ามาจะพูดว่า "นั่นไม่ใช่รหัสของฉันฉันจะ X" โดยที่ X สามารถแฮ็คมันละเว้นได้ ฯลฯ จากนั้นหากพวกเขาแก้ไข แน่นอนต้องการใส่ชื่อของพวกเขาในรหัสเพราะพวกเขาปรับปรุงมัน แต่คุณอาจคิดว่าเฮ้ฉันใช้เวลาหลายสัปดาห์กับรหัสนี้และพวกเขาใช้เวลา 10 นาทีทำไมพวกเขาถึงมีชื่อของพวกเขาด้วยตัวเอง เมื่อเวลาผ่านไปรอบนี้ยังคงดำเนินต่อไปและผู้คนโต้แย้งว่าใครควรได้รับเครดิต (หรือตำหนิ) สำหรับรหัส

มันไม่ได้ผลดีสำหรับทีม แต่หากทีมมุ่งเน้นไปที่ความเป็นเจ้าของร่วมและทำให้รหัสทั้งหมดยอดเยี่ยมโดยไม่มีความเป็นเจ้าของคุณสามารถมุ่งเน้นไปที่สิ่งที่สำคัญจริงๆซึ่งเป็นคุณภาพของระบบ หากคุณต้องการติดตามผู้ที่ทำงานอยู่คุณสามารถใช้ VCS เพื่อรับรายละเอียดได้เสมอ

หมายเหตุ: แม้ส่วนหัวลิขสิทธิ์อาจมีผลกระทบการทำลายล้างนี้หากมีชื่อของนักพัฒนาโดยเฉพาะอย่างยิ่งหากนักพัฒนาไม่ได้ใช้งานเหมือนผู้ร่วมให้ข้อมูลรายอื่น นั่นคือเหตุผลที่เกี่ยวกับโครงการโอเพ่นซอร์สฉันพยายามพูดถึงผู้เขียนใน AUTHORS หรือผู้สนับสนุนเท่านั้นที่เดียวในโครงการ


1
ฉันคิดว่าปัญหาของคุณเกิดจากเพื่อนร่วมงานที่มีจิตใจแย่กว่าความคิดเห็นด้วยตนเอง
Jay

คำตอบที่ดีโครงการโอเพนซอร์ซบางโครงการอาจห้ามเขียนข้อมูลผู้แต่งในไฟล์เพราะมันเป็นการทำลายความเป็นเจ้าของรหัสส่วนรวม
Étienne

1

ฉันมักจะไม่ปล่อยให้ข้อมูลการติดต่อของฉันในซอร์สโค้ดเพราะ VCS ของฉันจะดูแลความรับผิดชอบต่อฉัน

ที่กล่าวมาขอแนะนำให้คุณมีข้อมูลติดต่อของคุณอยู่ที่ไหนสักแห่งเพื่อให้ผู้ใช้รหัสสามารถติดต่อคุณโดยตรงเพื่อให้ข้อเสนอแนะ ลิงค์ไปยังเว็บไซต์โครงการในไฟล์ README โดยทั่วไปแล้วเป็นวิธีปฏิบัติที่ดี

การประชุมมาจากยุคที่ Usenet และ IRC ถูกใช้เป็นประจำเพื่อแบ่งปันซอร์สโค้ด เนื่องจากรหัสนั้นไม่ค่อยได้รับการเชื่อมโยงจาก VCS และมักจะส่งโดยตรงหากคุณต้องการความคิดเห็นคุณจะต้องรวมข้อมูลที่ติดต่อของคุณไว้ที่อื่น


1

ฉันปล่อยชื่อไว้ในสคริปต์ SQL เนื่องจากส่วนใหญ่จะถูกดึงจากฐานข้อมูลโดยตรงไม่ใช่จากการควบคุมแหล่งที่มา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.