คำถามติดแท็ก programming-practices

Programming Practices เป็นวิธีที่ใช้กันทั่วไปหรือไม่ใช้กันทั่วไปในการพัฒนาซอฟต์แวร์ สิ่งเหล่านี้อาจรวมถึงสิ่งต่าง ๆ เช่นการพัฒนาแบบ Agile, Kanban, ทางลัดการเข้ารหัส ฯลฯ

6
การเพิ่มประสิทธิภาพแบบก้าวหน้ากับแอปหน้าเดียว
ผมเพิ่งกลับมาจากการประชุมในบอสตันที่เรียกว่าเหตุการณ์นอกเหนือ ชุดรูปแบบที่นิยมมากในหมู่ผู้พูดคือแนวคิดของการปรับปรุงแบบก้าวหน้า - เนื้อหาของเว็บไซต์ควรเป็น HTML และ JavaScript ควรใช้เพื่อปรับปรุงพฤติกรรมเท่านั้น ข้อโต้แย้งที่ผู้บรรยายได้ให้ไว้เพื่อการปรับปรุงอย่างต่อเนื่องนั้นน่าสนใจมาก ไม่เพียง แต่เป็นรูปแบบที่มั่นคงสำหรับการสนับสนุนเบราว์เซอร์รุ่นเก่าและอุปกรณ์บนเครือข่ายที่มีแบนด์วิดท์ต่ำ แต่ HTML ล้มเหลวอย่างงดงามมากกว่า JavaScript (เช่นมาร์กอัปที่ไม่รองรับจะถูกละเว้นเพียงแค่ในขณะที่เบราว์เซอร์ สคริปต์ - คุณถูก hosed) Jeremy Keithพูดคุยอย่างลึกซึ้งโดยเฉพาะเกี่ยวกับเรื่องนี้ แต่เว็บแอปพลิเคชันหน้าเดียวเช่น Backbone และ Angular ล่ะ การออกแบบทั้งหมดที่อยู่เบื้องหลังเฟรมเวิร์กเหล่านี้ดูเหมือนจะผลักดันให้ผู้พัฒนาเคลื่อนย้ายเนื้อหาออกจาก HTML และกลายเป็นสิ่งที่คล้ายกับ JSON API ฉันไม่สามารถพูดถึงรูปแบบการออกแบบทั้งสองนี้ได้: การเพิ่มประสิทธิภาพแบบก้าวหน้ากับแอปพลิเคชันเว็บหน้าเดียว มีกรณีที่หนึ่งดีกว่าอีกหรือไม่ หรือว่าพวกเขาไม่ได้เป็นเทคโนโลยีที่เป็นปรปักษ์กันและฉันขาดอะไรบางอย่างที่นี่ด้วยแบบจำลองทางจิตของฉัน?

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

5
การปฏิบัติที่ไม่ดี - สลับกรณีเพื่อตั้งค่าสภาพแวดล้อม
ในช่วงสามปีที่ผ่านมาที่ฉันทำงานเป็นนักพัฒนาฉันได้เห็นตัวอย่างมากมายที่ผู้คนใช้คำสั่งสวิตช์เพื่อกำหนดเส้นทาง (ทั้งในส่วนหลังและส่วนหน้า) สำหรับ URL ด้านล่างเป็นตัวอย่างของสิ่งนี้: ตัวอย่างด้านหลัง (C #): public static string getHost(EnvironmentEnum environment){ var path = String.Empty; switch (environment) { case EnvironmentEnum.dev: path = "http://localhost:55793/"; break; case EnvironmentEnum.uat: path = "http://dev.yourpath.com/"; break; case EnvironmentEnum.production: path = "http://yourpath.com/"; break; } return path; } ตัวอย่างหน้า (JavaScript): (function () { if (window.location.host.indexOf("localhost") !== …

5
ทำไม code-base ในการพัฒนาระดับ n มีจำนวนเท่ากันถ้าไม่มากกว่านั้นโค้ด JavaScript ในตอนนี้?
ฉันทำโปรแกรมเว็บมานานแล้วและที่ไหนสักแห่งฉันก็ไม่รู้ว่าทำไมเราถึงทำสิ่งที่เราทำในวันนี้ (หรือเรามาทำสิ่งต่าง ๆ แบบนี้)? ฉันเริ่มต้นด้วยการพัฒนาเว็บ ASP ขั้นพื้นฐานและในช่วงแรกตรรกะการแสดงผลและตรรกะทางธุรกิจได้ปะปนกันบนหน้าเว็บ การพัฒนาฝั่งไคลเอ็นต์มีความแตกต่างกันอย่างมาก (VBScript, รสชาติที่แตกต่างกันของ JavaScript) และเรามีคำเตือนมากมายเกี่ยวกับการตรวจสอบความถูกต้องของฝั่งเซิร์ฟเวอร์ (ดังนั้นฉันจึงอยู่ห่างจากตรรกะฝั่งไคลเอ็นต์) จากนั้นฉันย้ายไปที่ ColdFusion ชั่วครู่หนึ่ง ColdFusion อาจเป็นกรอบการพัฒนาเว็บแรกที่แยกการแสดงผลและตรรกะทางธุรกิจโดยใช้แท็ก ดูเหมือนจะชัดเจนสำหรับฉัน แต่ verbose มากและ ColdFusion ไม่ได้เป็นที่ต้องการของตลาดสูงและดังนั้นฉันจึงเดินหน้าต่อไป จากนั้นฉันก็กระโดดขึ้นไปบนเกวียน ASP.NET และเริ่มใช้วิธี MVC ของพวกเขา ฉันก็รู้ว่า Java ดูเหมือนจะเป็นภาษาหอคอยงาช้างของระบบองค์กรและยังลองใช้วิธี MVC ของพวกเขา ต่อมา ASP.NET พัฒนารูปแบบการออกแบบ MVVM นี้และ Java (แม่นยำ J2EE หรือ JEE) ก็ดิ้นรนและออกมาด้วยวิธีการ MVC2 แต่วันนี้สิ่งที่ฉันได้ค้นพบคือการเขียนโปรแกรมแบ็คเอนด์ไม่ได้อยู่ที่ความตื่นเต้นและความก้าวหน้าอีกต่อไป นอกจากนี้แนวปฏิบัติ MVC บนฝั่งเซิร์ฟเวอร์ดูเหมือนจะล้าสมัยแล้ว …

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 …

11
typedefs และ #defines
เราทุกคนเคยใช้typedefและ#defineครั้งเดียวแน่นอน วันนี้ในขณะที่ทำงานกับพวกเขาฉันเริ่มไตร่ตรองในบางสิ่ง พิจารณาสถานการณ์ด้านล่าง 2 สถานการณ์เพื่อใช้intประเภทข้อมูลที่มีชื่ออื่น: typedef int MYINTEGER และ #define MYINTEGER int เช่นเดียวกับสถานการณ์ข้างต้นเราสามารถทำสิ่งต่าง ๆ ได้โดยใช้ #define และทำได้เช่นเดียวกันโดยใช้ typedef แม้ว่าวิธีการที่เราทำแบบเดียวกันอาจแตกต่างกันมาก #define ยังสามารถทำการกระทำของ MACRO ซึ่ง typedef ไม่สามารถทำได้ แม้ว่าเหตุผลพื้นฐานสำหรับการใช้งานนั้นแตกต่างกัน แต่การทำงานต่างกันอย่างไร เมื่อใดที่ควรจะเป็นที่ต้องการมากกว่ากันเมื่อทั้งสองสามารถใช้? อีกอย่างหนึ่งรับประกันได้ว่าจะเร็วกว่าสถานการณ์อื่นหรือไม่ (เช่น #define เป็นคำสั่งของตัวประมวลผลล่วงหน้าดังนั้นทุกอย่างจะทำเร็วกว่าการคอมไพล์หรือรันไทม์)

15
ฉันจะทำให้การปรับใช้การผลิตเป็นไปโดยอัตโนมัติโดยไม่ต้องกังวลมากได้อย่างไร
ที่ร้านของเราเราใช้ SVN สำหรับการควบคุมแหล่งที่มาและ CruiseControl สำหรับ CI ในการจัดการการสร้างและการปรับใช้อัตโนมัติเพื่อการพัฒนาการทดสอบและการรวมระบบของเรา ทั้งหมดนี้ทำงานได้อย่างราบรื่น แต่เนื่องจากข้อ จำกัด ด้านฮาร์ดแวร์และทรัพยากรสภาพแวดล้อมการรวมระบบของเราไม่ได้เป็น 2 สภาพแวดล้อมที่สมดุลของเซิร์ฟเวอร์เช่นสภาพแวดล้อมการผลิตของเรา ในขณะที่ทุกสิ่งทุกอย่างมีค่าเท่ากันนั่นจะเป็นความแตกต่างเพียงอย่างเดียวระหว่างสภาพแวดล้อมการรวมและการผลิตของเรา (แม้ว่าจะเป็นเรื่องใหญ่!) ในทางทฤษฎีความแตกต่างคือการกำหนดค่าที่แตกต่างกันเล็กน้อยของเซิร์ฟเวอร์แอปของเราและสคริปต์การปรับใช้จะต้องวางสิ่งประดิษฐ์บิลด์ลงในเซิร์ฟเวอร์สองเครื่องแทนที่จะเป็นเพียงเซิร์ฟเวอร์เดียว แต่ทำไมฉันถึงกังวลมาก โดยทั่วไปฉันไม่ได้เป็นคนที่คลั่งไคล้การควบคุม แต่ฉันมักรู้สึกว่าไม่เพียงพอที่จะปรับใช้การผลิตเพื่อการผลิตด้วยตนเอง ฉันได้ยินมาจากเพื่อนร่วมงานว่านี่เป็นสิ่งที่น่ากลัวจริงๆแต่พวกเขาล้มเหลวในการฟ้องร้อง ฉันรู้ว่าเมื่อฉันทำด้วยตนเองฉันสามารถดูได้ว่าฉันกำลังคัดลอกไฟล์ที่ถูกต้องฉันกำลังปิดเซิร์ฟเวอร์แอปและทำให้แน่ใจว่าปิดเรียบร้อยแล้วฉันกำลังเริ่มเซิร์ฟเวอร์สำรองและตรวจสอบบันทึกทางกายภาพแล้ว ตรวจสอบให้แน่ใจว่ามันเริ่มดีแล้ว มันทำให้ฉันสบายใจ อะไรคือข้อโต้แย้งหรือข้อโต้แย้งนี้สำหรับการปรับใช้การผลิตสคริปต์อัตโนมัติ?


6
การทิ้ง RuntimeExceptions ใหม่ในโค้ดที่ไม่สามารถเข้าถึงได้เป็นสไตล์ที่ไม่ดีหรือไม่?
ฉันได้รับมอบหมายให้ดูแลรักษาแอปพลิเคชันที่เขียนเมื่อไม่นานมานี้โดยนักพัฒนาที่มีทักษะมากกว่า ฉันเจอโค้ดนี้แล้ว: public Configuration retrieveUserMailConfiguration(Long id) throws MailException { try { return translate(mailManagementService.retrieveUserMailConfiguration(id)); } catch (Exception e) { rethrow(e); } throw new RuntimeException("cannot reach here"); } ฉันอยากรู้ว่าการขว้างปาRuntimeException("cannot reach here")นั้นมีเหตุผลหรือไม่ ฉันอาจจะพลาดสิ่งที่เห็นได้ชัดว่ารู้ว่าโค้ดนี้มาจากเพื่อนร่วมงานที่มีประสบการณ์มากกว่า แก้ไข: นี่คือร่างใหม่ที่บางคำตอบเรียก ฉันถือว่ามันไม่สำคัญในคำถามนี้ private void rethrow(Exception e) throws MailException { if (e instanceof InvalidDataException) { InvalidDataException ex = (InvalidDataException) e; …

11
การแย่งชิงโปรแกรมเมอร์เดียว? [ปิด]
ฉันถูกเรียกเก็บเงินในฐานะ "ผู้เชี่ยวชาญของ Windows" ใน บริษัท ขนาดเล็กของฉันซึ่งประกอบด้วยตัวเองวิศวกรเครื่องกลที่ทำงานในบทบาทการขายและการฝึกอบรมและประธาน บริษัท ทำงานด้านการออกแบบการพัฒนาและการสนับสนุน บทบาทของฉันมีความเท่าเทียมกันโดยทั่วไป แต่โดยหลักแล้วฉันจะออกแบบและใช้งานการเขียนโปรแกรมอะไรก็ได้บนผลิตภัณฑ์ของเราจำเป็นต้องทำเพื่อให้สิ่งต่างๆของเราทำงานบน Windows เวอร์ชันใดก็ได้ที่เป็นปัจจุบัน ฉันเพิ่งดูภาพรวมระดับสูงของกระบวนทัศน์ Scrum ในเว็บคาสต์ คำถามของฉันคือ: มันคุ้มค่ากับเวลาของฉันที่จะเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการพัฒนาผลิตภัณฑ์นี้หรือไม่เนื่องจากรายการงานพัฒนาของฉันมักจะได้รับในระดับที่สูงมากเช่น "สากลและ จำกัด วงผลิตภัณฑ์" ถ้าเป็นเช่นนั้นคุณจะแนะนำให้ปรับ Scrum สำหรับการใช้โปรแกรมเมอร์เพียงหนึ่งเดียวได้อย่างไร เครื่องมืออะไรที่มีพื้นฐานบนคลาวด์หรืออย่างอื่นจะมีประโยชน์สำหรับจุดสิ้นสุดนั้น หากไม่เป็นเช่นนั้นคุณจะแนะนำให้โปรแกรมเมอร์คนหนึ่งจัดการความพยายามของเขาแบบวันต่อวันได้อย่างไร? (บางทีคำถามอาจลดลงสำหรับคำถามง่าย ๆ นั้น)

10
คุณส่งวัตถุหรือตัวแปรสมาชิกไปยังฟังก์ชั่นหรือไม่?
ซึ่งเป็นวิธีปฏิบัติที่ยอมรับกันโดยทั่วไประหว่างสองกรณีนี้: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } หรือ function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } กล่าวอีกนัยหนึ่งโดยทั่วไปแล้วการส่งวัตถุทั้งหมดไปรอบ ๆ

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

6
ฉันควรวางฟังก์ชั่นที่ใช้ในฟังก์ชั่นอื่นเพียงหนึ่งฟังก์ชั่นภายในฟังก์ชั่นนั้นหรือไม่?
โดยเฉพาะฉันเขียนใน JavaScript สมมติว่าฟังก์ชั่นหลักของฉันคือฟังก์ชั่น A ถ้าฟังก์ชั่น A ทำการโทรไปยังฟังก์ชั่น B หลายครั้ง แต่ฟังก์ชั่น B นั้นไม่ได้ใช้ที่อื่นฉันควรวางฟังก์ชั่น B ไว้ในฟังก์ชั่น A หรือไม่ เป็นการปฏิบัติที่ดีหรือไม่? หรือฉันควรจะวาง Function B ในขอบเขตเดียวกับ Function A หรือไม่

4
วิธีแก้ปัญหาหรือทดสอบรหัสใหม่อย่างมีประสิทธิภาพเมื่อการตั้งค่าฮาร์ดแวร์เพื่อสร้างข้อบกพร่องเป็นเรื่องยากหรือเป็นไปไม่ได้ที่จะได้รับ?
ฉันทำงานที่ บริษัท ขนาดกลาง (พนักงาน 150 คน, ทีมวิศวกรขนาด 10 ~ คน) และโครงการส่วนใหญ่ของฉันเกี่ยวข้องกับการเชื่อมต่อกับอุปกรณ์ห้องปฏิบัติการ (oscilloscopes, เครื่องวิเคราะห์สเปกตรัมแบบออปติคอล ฯลฯ ) เพื่อวัตถุประสงค์ในการทดสอบแบบกึ่งอัตโนมัติ ฉันพบสถานการณ์ที่แตกต่างกันสองสามอย่างซึ่งฉันไม่สามารถแก้ไขปัญหาหรือทดสอบรหัสใหม่ได้อย่างมีประสิทธิภาพเพราะฉันไม่ได้ตั้งค่าฮาร์ดแวร์ให้ฉันอีกต่อไป ตัวอย่าง 1:การตั้งค่าที่กระบวนการ 10-20 "เบิร์นอิน" ทำงานอย่างอิสระโดยใช้เซ็นเซอร์ประเภทท็อปบัลลังก์ - ฉันสามารถรับเซ็นเซอร์หนึ่งตัวสำหรับการทดสอบและสามารถขโมยวินาทีในการจำลองการเชื่อมต่อทั้งหมดเพื่อจำลอง อุปกรณ์หลายอย่าง (การค้นหาการเชื่อมต่อการสตรีม ฯลฯ ) ในที่สุดข้อผิดพลาดปรากฏขึ้น (และในที่สุดก็ลงเอยอยู่ในอุปกรณ์เฟิร์มแวร์ & ไดรเวอร์) ที่ยากมากที่จะทำซ้ำอย่างถูกต้องด้วยหน่วยเดียว แต่เข้าใกล้ระดับ "โชว์จุก" เมื่อ 10-20 ของอุปกรณ์เหล่านี้ถูกใช้พร้อมกัน สิ่งนี้ยังคงไม่ได้รับการแก้ไขและกำลังดำเนินการอยู่ ตัวอย่างที่ 2:การทดสอบที่ต้องใช้เครื่องวิเคราะห์สเปกตรัมแสงที่มีราคาแพงเป็นองค์ประกอบหลักของมัน อุปกรณ์นั้นค่อนข้างเก่าล้าสมัยตามผู้ผลิตที่ได้รับมาจาก บริษัท ขนาดใหญ่และถูกทำลายโดยทั่วไปและเอกสารเพียงอย่างเดียวคือเอกสารที่ยืดยาว (และไม่เป็นทางการ) ที่ดูเหมือนจะแปลไม่ดี ในระหว่างการพัฒนาเริ่มต้นฉันสามารถเก็บอุปกรณ์ไว้ที่โต๊ะทำงานของฉันได้ แต่ตอนนี้มันเชื่อมโยงกันทั้งทางร่างกายและตามกำหนดเวลาในระหว่างการทดสอบตลอด 24 ชั่วโมงทุกวัน …

5
เมื่อใดและเพราะเหตุใดคุณจึงควรใช้ช่องว่าง (แทนเช่น bool / int)
ฉันพบวิธีในบางครั้งที่ผู้พัฒนาเลือกที่จะคืนสิ่งที่ไม่สำคัญกับฟังก์ชั่น ฉันหมายถึงเมื่อดูที่รหัสดูเหมือนว่าจะทำงานได้ดีพอ ๆ กับvoidหลังจากที่ฉันคิดว่า "ทำไม" เสียงนี้คุ้นเคยไหม? บางครั้งผมก็จะเห็นว่าส่วนใหญ่มักจะดีกว่าที่จะกลับมาสิ่งที่ต้องการboolหรือมากกว่าแล้วก็ทำint voidฉันไม่แน่ใจว่าในภาพรวมเกี่ยวกับข้อดีข้อเสีย ขึ้นอยู่กับสถานการณ์การส่งคืนintสามารถทำให้ผู้โทรทราบถึงจำนวนแถวหรือวัตถุที่ได้รับผลกระทบจากวิธีการ (เช่นบันทึก 5 รายการไปยัง MSSQL) หากวิธีการเช่น "InsertSomething" ส่งกลับแบบบูล, ฉันจะมีวิธีการออกแบบมาเพื่อกลับถ้าประสบความสำเร็จอื่นtrue falseผู้เรียกสามารถเลือกที่จะดำเนินการหรือไม่ใช้ข้อมูลนั้น ในทางกลับกัน, มันอาจนำไปสู่วัตถุประสงค์ที่ชัดเจนน้อยลงของวิธีการโทร? การเข้ารหัสที่ไม่ดีมักจะบังคับให้ฉันต้องตรวจสอบเนื้อหาวิธีอีกครั้ง ถ้ามันคืนบางอย่างมันบอกคุณว่าวิธีนั้นเป็นประเภทที่คุณต้องทำอะไรบางอย่างกับผลลัพธ์ที่ส่งคืน ปัญหาอีกประการหนึ่งคือหากคุณไม่รู้จักวิธีการใช้งานผู้พัฒนาตัดสินใจว่าจะส่งคืนสิ่งที่ไม่สำคัญต่อการทำงาน แน่นอนคุณสามารถแสดงความคิดเห็นได้ ค่าส่งคืนจะต้องมีการประมวลผลเมื่อการประมวลผลอาจจะสิ้นสุดที่วงเล็บปิดของวิธีการ เกิดอะไรขึ้นภายใต้ประทุน? วิธีการที่เรียกว่าได้รับfalseเนื่องจากข้อผิดพลาดโยนหรือไม่ หรือมันกลับเท็จเนื่องจากผลการประเมิน? คุณมีประสบการณ์อะไรกับเรื่องนี้? คุณจะทำสิ่งนี้อย่างไร

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