ฉันจะซ่อนลายเซ็นของฉันในโปรแกรมได้อย่างไร? [ปิด]


31

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

เพื่อนนักเรียนส่วนใหญ่ของฉันไม่ได้ก้าวหน้าในทักษะของพวกเขาดังนั้นฉันจึงออกไปพูดปิดบังชื่อของฉันในสตริง -64 เข้ารหัสที่สร้างขึ้นในสถานที่ที่ไม่ต่อเนื่อง ถึงกระนั้นมันก็อาจจะเห็นได้ชัดเกินไปว่าสายแบบสุ่มที่จะนั่งรอบ

มีตัวเลือกอะไรบ้างในการซ่อนชื่อของฉันในโปรแกรมโดยที่ไม่สงสัย

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

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


70
อย่าแชร์รหัส แต่แบ่งปันความคิด
วงล้อประหลาด

7
สิ่งที่ฉันทำเมื่อไม่กี่ปีที่ผ่านมามีตัวแปรที่มีชื่อเฉพาะ (ในกรณีของฉัน: "pkmn") ซึ่งฉันใช้ในทุกรหัสที่ฉันเขียนสำหรับสิ่งต่าง ๆ ที่ไม่สามารถสังเกตเห็นได้ J" ... ) เมื่อมีคนขโมยรหัสของฉันพวกเขาไม่ได้คิดรหัสทั้งหมดและปล่อยให้ตัวแปรไม่ถูกแตะต้อง นั่นคือลายเซ็นของฉัน
DrakaSAN

29
ทำไมคุณถามเรา ถามอาจารย์หรือ TA ของคุณสิ่งที่พฤติกรรมที่เหมาะสมคือที่โรงเรียนของคุณ
Eric Lippert

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

2
วิธีการเกี่ยวกับการโพสต์รหัสเสียอย่างละเอียด?
Benjol

คำตอบ:


44

ใช้ลายเซ็นของคุณไม่ได้อยู่ในรหัสของคุณ แต่ในบันทึกการพัฒนาที่สาธารณชนสามารถเข้าถึงได้

เผยแพร่รหัสของคุณที่ repo สาธารณะ Github รวม Docblock ด้วยชื่อของคุณในช่อง "ผู้แต่ง" วิธีนี้มีบันทึกสาธารณะของคุณว่าเป็นผู้เขียนโปรแกรมจริง


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

แก้ไข:ตามที่ระบุไว้ในความคิดเห็นตรวจสอบให้แน่ใจว่าโรงเรียนของคุณอนุญาตให้แบ่งปันงานของคุณด้วยวิธีนี้! OP ระบุว่าสถาบันของพวกเขาตกลงกับสิ่งนี้ แต่คุณอาจจะไม่ได้!


26
@exizt - ในขณะนี้เป็นความคิดที่ดีหลังจากสภาพแวดล้อมของโรงเรียน ฉันสงสัยว่าสถานการณ์ที่เป็นทางการที่สุดในสภาพแวดล้อมของโรงเรียนจะยอมรับสิ่งนี้เพราะในที่สุดคุณก็ยังคงแบ่งปันงานของคุณกับนักเรียนคนอื่น ๆ เป็นการดีที่สุดที่จะออกจากโรงเรียนของคุณทำงานด้วยตัวเอง (และคุณคนเดียว) จนกว่าคุณจะได้รับเกรดแล้ว
Ramhound

4
@exizt - อาจารย์กังวลเกี่ยวกับการโกง นอกจากว่าศาสตราจารย์บอกว่าคุณสามารถทำงานร่วมกับนักเรียนคนอื่นพวกเขาปกติมีความคาดหวังว่าคุณจะไม่ขุดรหัสจากเพื่อนของคุณ หากคุณต้องการโปรแกรมนี้มีความคาดหวังว่าคุณจะได้เรียนหลักสูตร TA และ / หรืออาจารย์ไม่ใช่เพื่อนของคุณซึ่งเป็นเหตุผลที่ฉันแนะนำให้คุณทำงานต่อไปจนกว่าคุณจะได้เกรด ในขณะที่มันอบอุ่นและคลุมเครือผู้เขียนต้องการช่วยเหลือเพื่อนของเขาไม่ใช่ปัญหาของพวกเขาพวกเขาไม่สามารถทำงานได้หากไม่มีความช่วยเหลือ เขาสามารถช่วยได้เพียงแค่ไม่มีหลักฐานของการกระทำดังกล่าวหากเขาต้องการนั่งที่นั่นและอธิบายบางสิ่งบางอย่าง
Ramhound

4
สิ่งนี้จะแก้ไขผู้แต่งดั้งเดิมได้อย่างไร? บุคคลที่ขโมยรหัสของคุณสามารถอ้างสิทธิ์ได้ว่าพวกเขาเขียนไว้ก่อนหน้า GitHub เช็คอินของคุณและคุณขโมยมันจากพวกเขา ฉันไม่เห็นปัญหานี้ในการแก้ปัญหา
Adam Davis

7
หลังจากที่ได้เรียนที่มหาวิทยาลัยของฉันฉันรู้ว่าจริง (และจากการดูมันเกิดขึ้น) ว่าการทำตามคำตอบนี้จะทำให้คุณอ้างถึงการประพฤติมิชอบทางวิชาการ ฉันไม่ทราบนโยบายของมหาวิทยาลัยในประเทศของฉัน (ออสเตรเลีย) ซึ่งแยกแยะระหว่างผู้คัดลอกและผู้คัดลอกเกี่ยวกับการคัดลอกผลงานและฉันสงสัยว่ามันจะแตกต่างกันอย่างมาก การเก็บรหัสไว้ที่ตัวคุณเองปลอดภัยกว่ามาก!
sapi

2
Git อนุญาตให้คอมมิทกำหนดเวลาประทับที่ต้องการ ดังนั้นฉันสงสัยว่าคุณสามารถพึ่งพา repo คอมไพล์สำหรับหลักฐานประเภทใด
Zan Lynx

14

"เนื่องจาก TAs เหล่านี้ถูกมองโดยและพวกเขาอาจสังเกตเห็นว่ามีใครบางคนมีโปรแกรมเดียวกัน"

ฉันหวังว่ามันเป็นส่วนหนึ่งของงานของพวกเขาในการตรวจสอบและลงโทษการโกงการลอกเลียนแบบและการฉ้อโกงอื่น ๆ
และทำซ้ำการทำงานของคนอื่นและส่งมันออกมาเป็นของคุณเองนั่นก็คือการโกงและการลอกเลียนแบบ

ง่ายมาก: อย่ามอบงานของคุณให้ผู้อื่น ช่วยให้พวกเขาเขียนของตัวเองถ้าคุณต้องการโดยให้แนวคิดในการแก้ปัญหาจากนั้นให้พวกเขาเขียนโค้ดของพวกเขาเอง


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

2
มีอะไรมากมายที่จะได้รับจากการทำงานร่วมกันในระดับรหัส 1) ฝึกอธิบายรหัสแก่ผู้อื่น 2) การสร้างความสัมพันธ์ในการทำงาน 3) การเรียนรู้พรสวรรค์ของเพื่อนร่วมชั้น 4) การเรียนรู้จากเพื่อนร่วมชั้นเมื่อคุณไม่มีทางออกที่ดีที่สุด กลุ่มที่พยายามรวมกลุ่มกันจะทำได้ดีกว่าดวงดาวบนเกาะ เพื่อนนักเรียนจะคลั่งไคล้เสมอ OP พยายามที่จะได้รับประโยชน์สูงสุดจากฝั่งเพื่อนในขณะที่บรรเทากับฝ่ายศัตรูเป็นครั้งคราว
duozmo

@duozmo ไม่มีอะไรผิดปกติกับการทำงานร่วมกัน (ถ้าได้รับมอบหมายแน่นอน) ตราบใดที่คุณไม่ต้องทำงานให้คนอื่นทำงานแทน และไม่นักเรียนเพื่อนของฉันไม่เคยเป็นศัตรูเมื่อฉันอยู่ในมหาวิทยาลัย ที่เลวร้ายที่สุดพวกเขาเป็นคู่แข่งสำหรับการมอบหมายที่อร่อยที่สุด
jwenting

7

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

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


7

คุณสามารถใช้เทคนิคที่เก่าแก่ที่สุดข้อหนึ่งในการซ่อนข้อความ ทำให้ตัวอักษรตัวแรกของแต่ละตัวแปรซ่อนข้อความ ตัวอย่างเช่น,

$Image = "test";
$a = "/test/img.jpg";
$message = "This is img.jpg";
$Full = 435674;
$rate = 3;
$ascii = "---....!--";
$number = 2040;
$k = 5;

// Do some work here?

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

6

ฉันคิดว่า GitHub หรือวิธีแก้ไขปัญหาที่คล้ายคลึงกันนั้นใช้ได้ แต่มีสองสิ่งที่ควรพิจารณา:

  • นี่ยังให้ผลงานของคุณกับคนอื่น ๆ ที่ควรทำด้วยตัวเองดังนั้นมันอาจถูกลงโทษไม่ว่าคุณจะซ่อนไข่อีสเตอร์ไว้ในนั้นหรือไม่
  • นโยบายของโรงเรียนอาจมีข้อ จำกัด ในเรื่องดังกล่าว ยกตัวอย่างเช่นในประเทศเยอรมนีมีมหาวิทยาลัยหลายแห่งที่ทำให้นักศึกษาเซ็นสัญญาแบบ "สัญญา" ซึ่งระบุว่าทุกสิ่งที่พวกเขาพัฒนาเป็นส่วนหนึ่งของงานที่ได้รับมอบหมายในหลักสูตรนี้และเป็นทรัพย์สินของมหาวิทยาลัย และไม่สามารถแจกจ่ายในรูปแบบใด ๆ โดยไม่ได้รับอนุญาตจากสถาบันอย่างชัดเจน ดังนั้นก่อนที่จะโพสต์สิ่งต่าง ๆ ของโรงเรียนบนอินเทอร์เน็ตฉันขอแนะนำอย่างยิ่งให้คุณถาม (โดยปกติจะมีคนที่ทำงานเกี่ยวกับสิ่งเหล่านี้ในแต่ละสถาบันการศึกษาและวิทยาศาสตร์ทุกแห่ง) เพราะคุณอาจจะมีปัญหาจริงๆ รับ F แต่แย่กว่านั้นมาก หากคุณต้องการช่วยเหลือเพื่อนของคุณ

นี่เป็นจุดที่ดีมาก! ฉันไม่ได้พิจารณาพวกเขาเลยในคำตอบของฉัน
sbichenko

ขอบคุณสำหรับความกังวลคะแนนดี :) เราได้รับอนุญาตให้ทำงานร่วมกับผู้อื่นในงาน แต่ฉันไม่ต้องการให้ผู้คนคัดลอกรหัสของฉันสำหรับการมอบหมายหากพวกเขาแบ่งปันบางอย่าง
MikeFoxtrot

4

cartographers มีปัญหาเดียวกัน เทคนิคคู่:

  1. แนะนำความเบี่ยงเบนที่ไม่น่าจะเป็นไปได้จากรูปแบบดั้งเดิมของภาษาของคุณเช่นมีช่องว่างที่ไม่สมดุลรอบตัวดำเนินการเสมอ

    if (lefthand== righthand)

  2. อย่ากระจายไปทั่วรหัสของคุณหากพวกเขาเป็นส่วนหนึ่งของภาษาที่คุณใช้

    lefthand = righthand;;


(1) จะพังถ้านักเรียนใช้บางอย่างเช่นตัวจัดรูปแบบอัตโนมัติของ Eclipse (2) กับ NOPs เป็นสิ่งที่ดี
Richard Le Mesurier

คุณจะพิสูจน์ได้อย่างไรว่าผู้คนได้ลอกเลียนแบบคุณไม่ใช่อย่างอื่น?
Pierre Arlaud

2
@ArlaudPierre อย่างที่คน ๆ หนึ่งเคยกล่าวไว้ว่าเล่ห์เหลี่ยมใช้บางอย่างเช่นนี้สำหรับทุกโปรแกรมตั้งแต่ต้นปีเพื่อให้คุณสามารถพิสูจน์ได้ว่าคุณทำโดยเจตนาและอีกฝ่ายไม่ได้
MikeFoxtrot

คนแรกนั้นเยือกเย็นและอย่างที่ชี้ให้เห็นก็คือแพ้อย่างง่ายดายโดยฟอร์แมตเตอร์ ที่สองจะให้คำเตือนใน IDE ที่ดี
David Conrad

3

การป้องกันการลอกเลียนแบบไม่ใช่งานของคุณในฐานะนักเรียนที่อยู่ในมือของอาจารย์ / TA

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

การซ่อน "ไข่อีสเตอร์" ในรหัสนั้นมักถูกมองว่าไม่เป็นมืออาชีพ (ความคิดเห็นอาจแตกต่างกันที่นี่)

อย่าทำให้รหัสเหม็นเป็นลายเซ็นของคุณ

"ลายเซ็น" ของคุณหรือว่าคุณแยกรหัสของคุณจากคนอื่นควรมีรสนิยมและไม่ขัดขวาง "กลิ่น" ของรหัสในลักษณะใด ๆ นี่คือสาเหตุที่ฉันไม่สนับสนุนสิ่งต่อไปนี้:

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

แล้วฉันจะป้องกันรหัสของฉันได้อย่างไร!

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

ฉันต้องการให้เป็นสาธารณะ แต่ป้องกันไม่ให้ถูกขโมยความคิด

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

มันจะทำให้คุณดูแย่เมื่อคนอื่นมองดูรหัสของคุณและไป "สิ่งที่นรกอยู่กับการพิมพ์ผิดและ no-ops?"

แต่ฉันต้องการลายเซ็นรหัสสิ่งที่ฉันสามารถดูรหัสและบอกว่าฉันทำมันมันเป็นฉันนี่เป็นของฉัน

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

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


คุณต้องการ "กับ" ไม่ใช่ "ข้อ" เว้นแต่คุณและบ๊อบกำลังเขียนบทกวี ;)
David Conrad

@DavidConrad ขอบคุณรหัสคือบทกวีหลังจากทั้งหมด;) แก้ไขให้ถูกต้อง
RualStorge

1

ระบุว่าปัญหาคือการซ่อนลายเซ็นในซอร์สโค้ดที่

  • จะไม่ชัดเจนทันที
  • ไม่สามารถลบได้ไม่ว่าจะตั้งใจหรือไม่ตั้งใจ
  • มันสามารถกู้คืนได้เมื่อจำเป็นในระดับความมั่นใจที่จะพิสูจน์

รูปแบบที่น่าสนใจในซูรินาเม

คุณไม่สามารถใช้การจัดรูปแบบหรือช่องว่างเนื่องจากสามารถลบออกได้เล็กน้อยโดย IDE ที่มีความสามารถใด ๆ

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

if (a== x) {}   // disappears on reformatting
int gghhjj_i;   // easily removed by search and replace, if all the same
int couunt = 0;  //spelling
int nummer = 0; // german
float doppel = 0.0; // german
string spago = "xx"; // italian
boolean manana = true; // spanish
struct perzon;  // excess use of z's.
class employeej; // what if every variable contained a 'j'?

โอกาสในการสร้างสรรค์นั้นไร้ขอบเขต!

จากนั้นการประมวลผลข้อความอย่างง่ายเพื่อแยกและเปรียบเทียบโทเค็นจะค้นพบนักลอกเลียนแบบอย่างรวดเร็ว


2
จริง ๆ แล้วฉันจะไม่สนับสนุนสิ่งนี้ ในขณะที่ A ยกย่องวิธีที่สร้างสรรค์ในการจัดการกับปัญหานี้สิ่งเหล่านี้สามารถนำไปสู่นิสัยที่มืออาชีพไม่ต้องการจัดการ การแก้ไขจดหมาย ฯลฯ ไม่ได้เลวร้าย แต่การสะกดผิดโดยเจตนาเป็นนิสัยที่แย่มากเมื่อคุณได้ทำงานเป็นทีม "โอ้เฮ้มันอยู่ในโฟลเดอร์ 'ทั่วไป'", "ฉันไม่พบโฟลเดอร์ใด ๆ ที่ชื่อ" สามัญ "", "อึฉันหมายถึง 'commom'", "... นั่นคือ 'com_mom', 'comm_mom', ' commmom 'หรือ' commom '... "
RualStorge

เห็นได้ชัดว่าคุณไม่ได้ทำงานกับผู้ที่มาจากต่างประเทศซึ่งภาษาอังกฤษไม่ใช่ภาษาแรก ฉันนับการสะกดที่แตกต่างกัน 11 ครั้งของคำว่า 'ประกาศ' (อย่างน้อยนั่นคือสิ่งที่ฉันคิดว่าเป็น)
david.pfx

ฉันมี "Commom" มาในลักษณะที่แน่นอน มันเป็นสิ่งที่เราเคยอยู่ด้วยจนกระทั่งมันทำให้ใครบางคนโกรธมากพอที่จะแก้ไขอะไรก็ตามที่เป็นคำพูดประจำวัน การเพิ่มปัญหานี้เพื่อจุดประสงค์ที่โดดเด่นในฐานะ "ลายเซ็นของคุณ" มีค่าควรแก่การพิจารณา
RualStorge

@RualStorge: Ah อาจเป็นคำตอบที่แยบยล แต่อาจไม่มีใครพูดให้ฟังในการสัมภาษณ์?
david.pfx

1
ไม่ แต่อีกครั้งมีหลายสิ่งหลายอย่างที่เราไม่ได้พูดในการสัมภาษณ์ เช่นการป้อน บริษัท ที่มีการบริหารจัดการโครงการที่น่าสงสาร ... หนึ่งไม่ได้บอกว่าพวกเขาวางแผนที่จะใช้งานอุบายที่ลึกซึ้งและเส้นเขตแดนดื้อรั้นที่จะปรับปรุงการปฏิบัติและนโยบายของ บริษัท ฯ แต่ที่นี่เรามี;)
RualStorge

1

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

นั่นเป็นแรงบันดาลใจให้ฉันคิดถึงรูปแบบลายเซ็นสลับของแท็บและช่องว่างทั้งในช่องว่างชั้นนำและส่วนท้าย


4
มีภาษาสำหรับมันอยู่แล้ว - en.wikipedia.org/wiki/Whitespace_(programming_language)
Ondrej Svejdar

0

สิ่งที่คล้ายกันที่ฉันใช้ก่อนหน้านี้คือการสร้างตัวแปรที่มีชื่อเหมือนกับตัวแปรสำคัญอื่น ๆ แต่ปล่อยให้ชื่อของพวกเขาขึ้นอยู่กับโปรแกรมแก้ไขข้อความเพื่อให้การเปลี่ยนแปลงไม่ชัดเจนอย่างชัดเจนหรือใช้ตัวอักษรที่มีเครื่องหมายเน้นเสียง เรียกฟังก์ชั่นต่าง ๆ ที่คุณส่งตัวแปรสำคัญของโปรแกรมมากมายจากคำสั่ง if การใช้ตัวแปรของคุณซึ่งจะไม่เป็นจริงเช่นถ้า (1eft == wrōng) ตั้งค่าตัวแปรสำคัญบางอย่างในฟังก์ชั่นไร้ประโยชน์ของคุณ

คุณควรจะพบบทเรียนหลายบทใน 'วิธีการเขียนโค้ดที่ไม่สามารถลบออกได้' ซึ่งอาจช่วยได้


อย่างไรก็ตามสิ่งนี้จะทำให้คุณเสียคะแนนเนื่องจากโปรแกรมไม่ดีเท่าที่ควรและ TAs จะไม่สามารถอ่านได้
user151019

คะแนนของคุณจะถูกลงโทษโดยปกติหากสังเกตเห็น ไม่มีใครชอบเมื่อคุณไปที่การค้นหา "logRepository" เท่านั้นที่จะพบว่ามันเป็น "1ogRepository" จริง ๆ แล้วมันทำให้คุณดูไม่ดี
RualStorge

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