คำถามติดแท็ก language-agnostic

แท็กนี้มีไว้สำหรับคำถามที่ไม่เฉพาะกับภาษาการเขียนโปรแกรมหรือสภาพแวดล้อม

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

7
เหตุใดภาษาหลักส่วนใหญ่จึงไม่สนับสนุนไวยากรณ์“ x <y <z” สำหรับการเปรียบเทียบแบบบูลีน 3 ทาง
หากฉันต้องการเปรียบเทียบตัวเลขสองตัว (หรือเอนทิตีที่มีการจัดลำดับที่ดีอื่น ๆ ) ฉันจะทำเช่นx &lt; yนั้น ถ้าผมต้องการเปรียบเทียบสามของพวกเขา, x &lt; y &lt; zนักเรียนพีชคณิตโรงเรียนมัธยมจะแนะนำพยายาม โปรแกรมเมอร์ในตัวฉันจะตอบกลับด้วย "ไม่นั่นไม่ถูกต้องคุณต้องทำx &lt; y &amp;&amp; y &lt; z" ภาษาส่วนใหญ่ที่ฉันพบเจอดูเหมือนจะไม่สนับสนุนไวยากรณ์นี้ซึ่งเป็นเรื่องแปลกเพราะมันเป็นเรื่องธรรมดาในวิชาคณิตศาสตร์ Python เป็นข้อยกเว้นที่น่าสังเกต JavaScript ดูเหมือนข้อยกเว้น แต่จริงๆแล้วเป็นเพียงผลพลอยได้ที่โชคร้ายของลำดับความสำคัญของผู้ปฏิบัติงานและการแปลงโดยนัย ใน Node.js, 1 &lt; 3 &lt; 2ประเมินเพราะมันจริงๆtrue(1 &lt; 3) &lt; 2 === true &lt; 2 === 1 &lt; 2 ดังนั้นคำถามของฉันคือ: เหตุใดจึงx &lt; y …

7
อาจจะเป็นข้อยกเว้น Monad
ฉันสงสัยว่าอะไรคือข้อดีของMaybe monad ที่มีข้อยกเว้น? ดูเหมือนว่าMaybeเป็นวิธีการทางtry..catchไวยากรณ์ที่ชัดเจน (และค่อนข้างใช้พื้นที่มาก) อัปเดตโปรดทราบว่าฉันตั้งใจจะไม่พูดถึง Haskell

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

9
ในขณะที่ (จริง) และวงแตก - รูปแบบการต่อต้าน?
พิจารณารหัสต่อไปนี้: public void doSomething(int input) { while(true) { TransformInSomeWay(input); if(ProcessingComplete(input)) break; DoSomethingElseTo(input); } } สมมติว่ากระบวนการนี้เกี่ยวข้องกับขั้นตอนที่ จำกัด แต่ขึ้นอยู่กับอินพุต ลูปได้รับการออกแบบมาเพื่อยุติด้วยตัวเองอันเป็นผลมาจากอัลกอริธึมและไม่ได้ออกแบบให้รันแบบไม่สิ้นสุด (จนกว่าจะถูกยกเลิกโดยเหตุการณ์ภายนอก) เนื่องจากการทดสอบเพื่อดูว่าการวนซ้ำควรจบอยู่กลางชุดตรรกะของขั้นตอนหรือไม่ขณะที่ลูปตัวเองในขณะนี้ไม่ได้ตรวจสอบสิ่งใดที่มีความหมาย การตรวจสอบจะดำเนินการแทนในตำแหน่ง "เหมาะสม" ภายในอัลกอริทึมเชิงแนวคิด ฉันได้รับการบอกว่านี่เป็นโค้ดที่ไม่ดีเพราะมันมีข้อผิดพลาดมากกว่าเนื่องจากสภาพตอนจบไม่ได้ถูกตรวจสอบโดยโครงสร้างลูป เป็นการยากกว่าที่จะทราบว่าคุณจะออกจากลูปอย่างไรและสามารถเชิญบั๊กเนื่องจากสภาพการแตกหักอาจถูกข้ามหรือข้ามไปโดยไม่ตั้งใจเนื่องจากการเปลี่ยนแปลงในอนาคต ตอนนี้รหัสสามารถโครงสร้างดังนี้ public void doSomething(int input) { TransformInSomeWay(input); while(!ProcessingComplete(input)) { DoSomethingElseTo(input); TransformInSomeWay(input); } } อย่างไรก็ตามการทำซ้ำการเรียกไปยังวิธีการในรหัสละเมิด DRY; หากTransformInSomeWayถูกแทนที่ด้วยวิธีอื่นในภายหลังการโทรทั้งสองจะต้องพบและเปลี่ยนแปลง (และความจริงที่ว่ามีสองอาจไม่ชัดเจนในรหัสที่ซับซ้อนมากขึ้น) คุณสามารถเขียนเช่น: public void doSomething(int input) { var complete …

10
การเข้าถึงสถานะการเขียนโปรแกรมระดับกลาง [ปิด]
ฉันเป็นวิศวกรซอฟต์แวร์ที่มีตำแหน่งการเขียนโปรแกรมใน VBA (แม้ว่าฉันจะไม่พิจารณาประสบการณ์ที่ 'จริง' เพราะมันเป็นรุ่นทดลองใช้และข้อผิดพลาด!), Perl w / CGI, C # และ ASP.NET สองหลังเป็นระดับปริญญาตรีโดยที่ฉันเข้าสู่ 'โลกแห่งความจริง' ฉันออกจากวิทยาลัย 2 ปีและมีประสบการณ์ 5 ปี (รวม) ในภาษาที่ฉันพูดถึง อย่างไรก็ตามเมื่อพูดถึงประวัติการทำงานของฉันฉันสามารถวาง C # ลงเพียง 2 ปีเท่านั้นและน้อยกว่าหนึ่งปีสำหรับ ASP.NET ฉันรู้สึกว่าฉันรู้ C # แต่ฉันยังต้องใช้เวลาในการดำเนินการ 'วิธีการนี้ทำอะไร?' ในขณะที่วิศวกรระดับสูงกว่าบางคนสามารถพูดได้ทันที "โอ้วิธี X ทำสิ่งนี้โดยไม่ต้องดูเลย วิธีการก่อน " ดังนั้นฉันจึงรู้ด้วยสังเกตุว่ามีอ่าวอยู่ตรงนั้น แต่ฉันไม่แน่ใจว่าจะเชื่อมมันอย่างไร ฉันเริ่มเขียนโปรแกรมในProject Eulerแล้วฉันก็หยิบหนังสือเกี่ยวกับรูปแบบการออกแบบ แต่ฉันก็ยังรู้สึกว่าฉันใช้น้ำในแต่ละวันมากกว่าจะก้าวไปข้างหน้า ไม่ได้หมายความว่าฉันไม่รู้สึกว่าตัวเองก้าวหน้าไปแค่หมายความว่าถ้าฉันมาทุกวันฉันก็ยังเห็นยอดเขาอยู่ไกล ๆ คำถามของฉันคือ: คุณเอาชนะที่ราบสูงนี้ได้อย่างไร มันใช้เวลานานเท่าไหร่ …

7
“ ภาษา A เขียนด้วยภาษา B” หมายความว่าอะไร?
ผมมักจะได้ยินคำว่าภาษาเป็นสิ่งที่เขียนในภาษา B. ตัวอย่างเช่นPHPได้รับการเขียนC , C #จะถูกเขียนในภาษา C ++ ใครช่วยกรุณาอธิบายสิ่งนั้นหมายความว่าและถ้ามันถูกต้อง? สิ่งนี้เกี่ยวข้องกับการแปลของล่ามที่ใช้โดยภาษาหรือไม่? นอกจากนี้ปัจจัยอะไรบ้างที่ทำให้ภาษาที่ใช้ในการเลือกใช้ถูกสร้างขึ้น

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

4
คุณสามารถใช้ Pi เป็นเครื่องมือสร้างตัวเลขสุ่มอย่างหยาบได้หรือไม่?
ฉันเพิ่งเห็นคำถามนี้ที่ math.SE มันทำให้ฉันคิด สามารถใช้ Pi เป็นเครื่องมือสร้างตัวเลขสุ่มแบบสุ่มได้หรือไม่? ฉันหมายถึงผลลัพธ์เป็นที่รู้จักกันดี (คำนวณว่า pi ได้รับมานานเท่าไหร่แล้วตอนนี้?) แต่ Pi ก็ดูเหมือนจะสุ่มเมื่อใช้ตัวเลข 1 หลักในแต่ละครั้ง สิ่งนี้สมเหตุสมผลหรือไม่?

26
บางคนสามารถหางานเป็นโปรแกรมเมอร์โดยไม่มีการศึกษาได้หรือไม่? [ปิด]
สนใจที่จะรู้จากคนที่มีประสบการณ์มากกว่าถ้าใครบางคนสามารถหางานทำในฐานะโปรแกรมเมอร์โดยไม่ต้องเรียนจบมัธยม พิจารณาว่าบุคคลดังกล่าวเป็นโปรแกรมเมอร์โดยเฉลี่ย ใครบางคนจะพิจารณาให้โอกาสเขาในการสัมภาษณ์หรือไม่? ภาษาที่น่าสนใจคือ python / php / java / c # โปรดตอบสำหรับภูมิภาค / เมือง / ประเทศของคุณเท่านั้น ไม่มีคำตอบ "กลับไปโรงเรียน"

5
การตรวจสอบการป้อนข้อมูล - ที่ไหน? เท่าไหร่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา การตรวจสอบการป้อนข้อมูลเป็นเรื่องยากสำหรับฉัน ในการเพิ่มกรอบความปลอดภัยและรหัสจริงลงในโครงการเขียนแอปพลิเคชันดั้งเดิมของเรา (ซึ่งตอนนี้ค่อนข้างจะรักษารหัสรักษาความปลอดภัยดั้งเดิมและการตรวจสอบความถูกต้องของข้อมูล) ฉันสงสัยอีกครั้งว่าควรจะตรวจสอบมากแค่ไหน ที่ไหน ฯลฯ ตลอด 5 ปีที่ฉันเป็นนักพัฒนา Java มืออาชีพฉันได้สร้างและปรับปรุงกฎส่วนบุคคลของฉันสำหรับการตรวจสอบความถูกต้องของข้อมูลและมาตรการรักษาความปลอดภัย เมื่อฉันต้องการปรับปรุงวิธีการของฉันฉันอยากได้ยินความคิดเห็นจากพวกคุณ กฎและโพรซีเดอร์ทั่วไปนั้นใช้ได้ดีและจาวาเฉพาะก็เช่นกัน สรุปนี่คือแนวทางของฉัน (เปิดเผยในรูปแบบเว็บแอปพลิเคชัน 3 ระดับ) พร้อมคำอธิบายสั้น ๆ : ฝั่งไคลเอ็นต์ชั้นที่ 1 (เบราว์เซอร์): การตรวจสอบความถูกต้องน้อยที่สุด, กฎที่ไม่เปลี่ยนแปลงเท่านั้น (ฟิลด์อีเมลบังคับ, ต้องเลือกหนึ่งรายการ, และอื่น ๆ ที่คล้ายกัน); การใช้การตรวจสอบเพิ่มเติมเช่น "ระหว่าง 6 ถึง 20 ตัวอักษร" น้อยลงเนื่องจากจะเป็นการเพิ่มการบำรุงรักษาในการเปลี่ยนแปลง (อาจเพิ่มเมื่อรหัสธุรกิจมีเสถียรภาพ); ฝั่งเซิร์ฟเวอร์ระดับที่ 1 (การจัดการการสื่อสารผ่านเว็บ "ตัวควบคุม"): ฉันไม่มีกฎสำหรับอันนี้ …

9
ประโยชน์ของการให้ผู้ดำเนินการมอบหมายคืนค่าคืออะไร?
ฉันกำลังพัฒนาภาษาที่ฉันต้องการแทนที่ทั้ง Javascript และ PHP (ฉันไม่เห็นปัญหาใด ๆ กับสิ่งนี้มันไม่เหมือนภาษาใดภาษาหนึ่งเหล่านี้ที่มีฐานการติดตั้งขนาดใหญ่) หนึ่งในสิ่งที่ฉันต้องการเปลี่ยนคือการเปลี่ยนผู้ประกอบการมอบหมายให้เป็นคำสั่งการมอบหมายลบความสามารถในการใช้ประโยชน์จากค่าที่ส่งคืน x=1; /* Assignment. */ if (x==1) {} /* Comparison. */ x==1; /* Error or warning, I've not decided yet. */ if (x=1) {} /* Error. */ ฉันรู้ว่านี่จะหมายความว่าฟังก์ชั่นหนึ่งบรรทัดที่คน C รักมากจะไม่ทำงานอีกต่อไป ฉันคิด (มีหลักฐานน้อยกว่าประสบการณ์ส่วนตัวของฉัน) ว่าส่วนใหญ่ครั้งนี้เกิดขึ้นมันตั้งใจจริง ๆ ที่จะดำเนินการเปรียบเทียบ หรือมันคืออะไร? มีการใช้งานจริงของค่าส่งคืนของผู้ดำเนินการที่ไม่สามารถเขียนใหม่ได้หรือไม่? (สำหรับภาษาใด ๆ ที่มีแนวคิดดังกล่าว)

3
สไตล์สำหรับโฟลว์การควบคุมพร้อมการตรวจสอบความถูกต้อง
ฉันพบว่าตัวเองเขียนโค้ดจำนวนมากเช่นนี้: int myFunction(Person* person) { int personIsValid = !(person==NULL); if (personIsValid) { // do some stuff; might be lengthy int myresult = whatever; return myResult; } else { return -1; } } มันอาจดูยุ่งเหยิงโดยเฉพาะถ้ามีการตรวจสอบหลายครั้ง ในกรณีเช่นนี้ฉันได้ทดลองใช้รูปแบบอื่นเช่นนี้: int netWorth(Person* person) { if (Person==NULL) { return -1; } if (!(person-&gt;isAlive)) { return -1; } …

11
เซิร์ฟเวอร์ควร“ ผ่อนปรน” ในสิ่งที่ควรยอมรับและ“ ทิ้งอินพุตที่ผิดพลาดอย่างเงียบ ๆ ” หรือไม่?
ฉันอยู่ภายใต้ความประทับใจที่ตอนนี้ทุกคนเห็นด้วยกับความจริงข้อนี้เป็นความผิดพลาด แต่เมื่อเร็ว ๆ นี้ฉันเห็นคำตอบนี้ซึ่งมีความคิดเห็นแบบ "ผ่อนปรน" เพิ่มขึ้น 137 ครั้ง (ณ วันนี้) ในความเห็นของฉันการผ่อนปรนในสิ่งที่เบราว์เซอร์ยอมรับนั้นเป็นสาเหตุโดยตรงของความยุ่งเหยิงที่สุดที่ HTML และมาตรฐานเว็บอื่น ๆ เมื่อไม่กี่ปีที่ผ่านมาและเพิ่งจะเริ่มตกผลึกของระเบียบนั้นอย่างเหมาะสม วิธีที่ฉันเห็นมันการผ่อนปรนในสิ่งที่คุณยอมรับจะนำไปสู่สิ่งนี้ ส่วนที่สองของ maxim คือ"ทิ้งอินพุตที่ผิดพลาดอย่างเงียบ ๆ โดยไม่ส่งคืนข้อความแสดงข้อผิดพลาดยกเว้นว่าข้อกำหนดนี้จำเป็นสำหรับข้อมูลจำเพาะ"และสิ่งนี้จะทำให้เกิดความไม่พอใจกับแนวเขตแดน โปรแกรมเมอร์คนใดคนหนึ่งกระแทกหัวของพวกเขาบนผนังเมื่อมีบางอย่างล้มเหลวเงียบ ๆ จะรู้ว่าฉันหมายถึงอะไร ดังนั้นฉันผิดอย่างสมบูรณ์เกี่ยวกับเรื่องนี้? โปรแกรมของฉันควรจะผ่อนปรนในสิ่งที่ยอมรับและกลืนข้อผิดพลาดอย่างเงียบ ๆ หรือไม่? หรือฉันตีความผิด ๆ ว่าสิ่งนี้ควรจะหมายถึงอะไร? คำถามเดิมกล่าวว่า "โปรแกรม" และฉันจะชี้ให้ทุกคนเห็นว่า มันสมเหตุสมผลสำหรับโปรแกรมที่จะผ่อนปรน อย่างไรก็ตามสิ่งที่ฉันหมายถึงจริงๆก็คือ API: ส่วนต่อประสานที่เปิดรับกับโปรแกรมอื่นมากกว่าคน HTTP เป็นตัวอย่าง โพรโทคอลเป็นอินเทอร์เฟซที่ใช้เฉพาะโปรแกรมอื่น ผู้คนไม่เคยระบุวันที่ที่เป็นส่วนหัวโดยตรงเช่น "If-Modified-Since" ดังนั้นคำถามคือ: เซิร์ฟเวอร์ที่ใช้มาตรฐานควรผ่อนปรนและอนุญาตให้ใช้วันที่ในรูปแบบอื่น ๆ นอกเหนือจากที่มาตรฐานกำหนดไว้จริงหรือไม่ ฉันเชื่อว่า "ผ่อนปรน" ควรจะนำไปใช้กับสถานการณ์นี้มากกว่าการเชื่อมต่อของมนุษย์ …

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

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