มาตรฐานการเข้ารหัสจำเป็นต้องมีอีกหรือไม่


13

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

มีข้อโต้แย้งใด ๆ สำหรับการพัฒนามาตรฐานการเข้ารหัส (เราไม่มี แต่มีการสร้าง)


หากคุณตัดสินใจที่จะใช้มาตรฐานการเข้ารหัสให้พิจารณาบังคับใช้ในระหว่างการรวมอย่างต่อเนื่อง
Leif Carlsen

10
ทุกคนในทีมจำเป็นต้องใช้ IDE เดียวกันหรือไม่
Keith Thompson

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

ไม่ใช่ทุกคนที่ใช้ IDE เช่นกันฉันใช้ Acme เป็นต้น
dysoco

คำตอบ:


33

อย่างไรก็ตามมีเครื่องมือและ IDE ที่แตกต่างกันมากมายซึ่งจะจัดรูปแบบตามมาตรฐานที่โปรแกรมเมอร์ต้องการ

ขอให้โชคดี ประสบการณ์ของฉันมีเครื่องมือจำนวนเล็กน้อย (ศูนย์!) ที่สามารถฟอร์แมตโค้ดจากฟอร์แมต X เป็นฟอร์แมต Y ได้อย่างถูกต้องมีหลายสิ่งหลายอย่างที่ขวางทาง แท็บเทียบกับพื้นที่เว้นวรรคงบหลายบรรทัด ฯลฯ เพียงแค่ดูที่การนำ GNU ไปใช้กับไฟล์ไลบรารีมาตรฐาน C ++ สิ่งที่คุณสามารถทำได้คือทำให้ IDE ของคุณทำคือใช้ช่องว่างแทนแท็บและไม่ต้องฟอร์แมตโค้ดต่างประเทศอีกต่อไป ตอนนี้โค้ดของคุณจะเป็นแบบที่คุณชอบและโค้ดต่างประเทศก็จะมีลักษณะเหมือนที่ผู้เขียนต้นฉบับเขียนไว้

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

สิ่งที่ใหญ่กว่า:

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

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

มาตรฐานการเข้ารหัสอาจมีผลที่ไม่ตั้งใจ ตัวอย่าง: คนโง่ของวิศวกรโครงการกำลังตีความ "ไม่มีหมายเลขเวทมนตร์" เพื่อหมายถึงสิ่งนั้นif (index == 0) {...}และfor (ii = 0; ii < 3; ++ii) {...}ต้องเปลี่ยนเป็นif (ZERO == index) {}และfor (ii = ZERO; ii < NUMBER_OF_DIMENSIONS_IN_THE_UNIVERSE; ++ii) {...}อย่าหัวเราะ ฉันเคยเห็นมันเกิดขึ้น ทุกวันนี้เมื่อฉันเขียนมาตรฐานการเข้ารหัสมันเป็น "ไม่มีเวทมนตร์หมายเลขแนวทาง" มากกว่ากฎที่จะรับมือกับความโง่เขลาแบบนี้

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


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

วิธีง่ายๆในการจัดการกับแท็บกับช่องว่างคือการไม่อนุญาตให้แท็บในมาตรฐานการเข้ารหัส วิธีง่ายๆในการบังคับใช้สิ่งนี้คือให้มีตะขอเช็คอินที่จะปฏิเสธการเช็คอินหรือแปลงแท็บที่ใช้เป็นช่องว่างให้เป็นช่องว่าง การตรวจสอบมาตรฐานการเข้ารหัสบางอย่างโดยอัตโนมัติเช่นในระหว่างการสร้างตอนกลางคืนหรือตอนเช็คอิน (ดีกว่าเนื่องจากข้อเสนอแนะใกล้เคียงทันที) เป็นคุณสมบัติที่ดีมาก จะเกิดอะไรขึ้นถ้าเช็คอินได้รับอนุญาต (หรือบังคับ) และการแปลงทำให้เป็นระเบียบ? มีคำตอบง่ายๆเช่นกัน: การตรวจสอบโค้ด POS ที่น่าเกลียดไม่ควรผ่านการชุมนุม มันไม่ควรได้รับการตรวจสอบ
David Hammen

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

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

@GlenPeterson - การเยื้อง / การจัดรูปแบบอยู่ในรายการของฉันหรือก่อนหน้ารายการของฉัน: "IMO มาตรฐานการเข้ารหัสควรระบุชุดรูปแบบการเยื้องที่สมเหตุสมผล แต่ให้ความสำคัญกับผู้เขียนของแพ็คเกจ" และใช่มีข้อยกเว้นสำหรับกฎ "ไม่มีแท็บ" ตัวอย่างเช่น Makefiles
David Hammen

60

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

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


1
คำตอบที่ดีมันขยายความรู้ของฉันพร้อมคำอธิบายที่ดีครอบคลุมสิ่งที่ฉันไม่เคยคิด +1
ลูกแมวบางคน

พวกเขายังสามารถครอบคลุมสิ่งต่าง ๆ เช่นวิธีการจัดการความเข้ากันได้ข้ามแพลตฟอร์มซึ่งเป็นสิ่งสำคัญอย่างยิ่งหากนักพัฒนาใหม่ไม่ได้มีประสบการณ์ในการเขียนรหัสข้ามแพลตฟอร์ม
Velociraptors

3
หากคุณคิดว่าคำตอบนี้เป็นคำตอบที่ดีและตอบคำถามของคุณเพียงทำเครื่องหมายไว้เช่นนั้น
marktani

3
ไม่ต้องพูดถึงว่าการจัดรูปแบบจำนวนมากอาจทำให้เกิดอาการปวดหัวเมื่อคุณโยนมาตรฐานที่ดีอื่นเข้าไปในนั้น: การควบคุมแหล่งที่มา
Matthew Scharley

1
@MatthewScharley โดยทั่วไปคุณกดรหัสที่เปลี่ยนไปแล้วผ่าน formatter และคอมมิชชัน (หลังจากการทดสอบครั้งสุดท้ายอาจจะทำให้แน่ใจว่า formatter ไม่ทำลายสิ่งใด) ดังนั้นโค้ดที่ฟอร์แมตแล้วเท่านั้นที่จะได้รับ repo
ratchet freak

13

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

หากแต่ละคนให้ IDE ปรับรูปแบบโค้ดให้กับการเลือกของพวกเขาคุณมีหนึ่งในสองปัญหา: คุณต้องแน่ใจว่าคุณแปลงมันกลับเป็นรูปแบบดั้งเดิมเสมอเมื่อบันทึกหรือประสบจากความจริงที่ว่า diff ของคุณจะมีเสียงดังมาก ทำให้ยากที่จะเห็นสิ่งที่มีการเปลี่ยนแปลงในตรรกะของรหัส


4
diffs! ฉันไม่ได้คิดอย่างนั้น
ลูกแมวบางตัว

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

5

คำตอบสั้น:ใช่มันไม่สะท้อนให้เห็นถึงคุณภาพ

มันคืออะไรและทำไมเราต้องการมัน?

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

ป้อนคำอธิบายรูปภาพที่นี่

ตกลงนักพัฒนาทุกคนรู้ว่าการเข้ารหัสเป็นสิ่งที่ดี แต่มาตรฐานควรมาจากไหน

ส่วนใหญ่จะกำหนดโดยผู้ขายที่เป็นเจ้าของผลิตภัณฑ์ นักพัฒนาซอฟต์แวร์ทุกคนสามารถเลือกได้จากมาตรฐานการเข้ารหัสอุตสาหกรรมมากมาย แนวทางการนำเสนอของ บริษัท บางแห่ง Microsoft, Oracle และ Sun Microsystems

มีข้อโต้แย้งใด ๆ สำหรับการพัฒนามาตรฐานการเข้ารหัส (เราไม่มี แต่มีการสร้าง)

ใช่มีมาตรฐานอุตสาหกรรมที่แนะนำให้ใช้ อย่างไรก็ตามแต่ละมาตรฐานการเข้ารหัสมีความเฉพาะเจาะจงสำหรับแพลตฟอร์มการพัฒนา ดังนั้นมาตรฐานการเข้ารหัสส่วนใหญ่เป็นภาษาเฉพาะ ตัวอย่างเช่น Java มีมาตรฐานที่แตกต่างจาก. NET ตัวอย่างเช่นC # .NET ใช้มาตรฐานนั้นในการอ้างอิงนี้

มาตรฐานทั่วไป

มาตรฐานทั่วไปไม่มีการพึ่งพาภาษาการเขียนโปรแกรมใด ๆ นอกเหนือไปจากมาตรฐานของผู้ขายเสนออาคาอุตสาหกรรมกล่าวถึงมาตรฐานการเข้ารหัสมีข้อความที่แตกต่างกันเช่นการเขียนโปรแกรมภาษาฮังการีโน้ตหรือCamelCase ฉันคิดว่ามาตรฐานการเข้ารหัสของ Microsoft .NET นั้นมาจากพื้นฐานของสัญลักษณ์ CamelCase

มาตรฐานและแนวทางการเข้ารหัสของทีม

ในความคิดทีมพัฒนาทุกคนควรเห็นด้วยกับมาตรฐานการเข้ารหัสทันทีที่เริ่มโครงการ แนวทางการเขียนโค้ดมักจะถูกสร้างขึ้นโดยหัวหน้าทีมหรือหัวหน้าสถาปนิกของ บริษัท มักจะเป็นเอกสารเปิดที่ต้องติดตามและปรับปรุงตามความต้องการ ตัวอย่างเช่นใน บริษัท ของเราเรามีหน้า Wiki ที่เอกสารนี้ถูกอัพโหลดและพร้อมใช้งานสำหรับนักพัฒนา บริษัท


ฉันคิดว่าคำถามกำลังถามว่าทำไมสิ่งเหล่านั้นจึงสำคัญ คุณอธิบายสิ่งที่มาตรฐานการเข้ารหัสครอบคลุม แต่คำถามถามว่าทำไมถึงต้องการ
ไบรอัน Oakley

ฉันยังตอบคำถามไม่เสร็จ
Yusubov

ว่าทั้งหมดควรจะเป็นWhile Not Do Until
Ry-

2

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

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

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

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

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

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


ดีโดยฉัน - สิ่งที่น้อยกว่าที่จะเสียเวลาโดยเฉพาะอย่างยิ่งหาก devs ทั้งหมดมีใบอนุญาต Resharper และ fxcop / stylecop กำลังทำงานอยู่บนบิลด์เซิร์ฟเวอร์
StuartLC

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

@Andrew ประสบการณ์เหล่านั้นอาจใช้ไม่ได้และอาจผูกมัดคุณกับความคิดมากมายที่ไม่มีส่วนเกี่ยวข้องกับปัญหาปัจจุบันที่คุณกำลังแก้ไข
Doug T.

1
+1 สำหรับการยับยั้งนวัตกรรมการควบคุมชุดย่อยแนวปฏิบัติที่ดีที่สุดทั่วไปและการเมือง รู้ไม่ต้องควบคุม!
kirk.burleson

"ไม่มีมาตรฐานการเข้ารหัสที่เป็นลายลักษณ์อักษรพึ่งพาการประชุมและขอคำแนะนำ" ทำงานได้ดีในทีมขนาดเล็ก (น้อยกว่าฉันไม่รู้ 50 ถึง 100?) เมื่อคุณมีผู้คนนับพันย้ายกลับไปกลับมาระหว่างโครงการต่าง ๆ ภายในรหัสฐานมันช่วยให้คุณมีแนวทางปฏิบัติที่เป็นลายลักษณ์อักษรสำหรับรหัส
Vatine

1

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

ดู: เสนอมาตรฐานการบริหารการบินของรัฐบาลกลาง C และ C ++

ฉันต้องการพูดมากกว่านี้

หมายเหตุ: ฉันไม่สามารถหามาตรฐานจริงจาก FAA ออนไลน์ได้ แต่ฉันได้เห็นแล้ว


นั่นคือมาตรฐานการเข้ารหัสที่ไม่ดีต้นแบบ มันยาวเกินไปทำให้เกิดปัญหาเกี่ยวกับศาสนาและที่สำคัญที่สุดมันทำงานตรงกันข้ามกับการเขียนโปรแกรม C ++ ที่ทันสมัย ตัวอย่างเช่นมันห้าม POD (ข้อมูลเก่าธรรมดา) และกฎของข้อยกเว้นอยู่ในช่วงตั้งแต่เลวจนถึงโบราณ ไม่ดี: การพยายามจับ std :: bad_alloc กลายเป็นความคิดที่แย่มาก Archaic: แนวคิดของ Java ในการระบุข้อยกเว้นทั้งหมดที่อาจถูกส่งออกไปและการจับข้อยกเว้นทั้งหมดที่ถูกโยนโดยฟังก์ชันที่เรียกใช้จะไม่ทำงานใน C ++ ดีกว่ามากคือการเขียนรหัสที่ปลอดภัยยกเว้นตามแนวคิดของแนวคิดการรับประกันข้อยกเว้นของ David Abrahams
David Hammen

1

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

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

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


1

มาตรฐานการเข้ารหัสอาจไม่สำคัญอีกต่อไป! ฉันเป็นผู้ใช้ CakePHP ตัวยงและฉันต้องการตรวจสอบการเปลี่ยนแปลงจากรุ่นสู่รุ่นและนักพัฒนาไม่ปฏิบัติตามมาตรฐานที่นั่น

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

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