วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

2
ฟังก์ชั่นการเขียนโปรแกรมปฏิกิริยา - เฟย์แสดงออกได้เพียงพอหรือไม่?
ดังนั้นฉันจึงทำไคลเอนต์ javascript / html ที่เกี่ยวข้องอย่างเป็นธรรมด้วยการโทร ajax จำนวนมากและการโทรกลับ -mem ฉันสนุกสนานกับความคิดที่จะใช้ Fay เพื่อจุดประสงค์นี้ ฉันรู้เรื่อง Elm แล้ว พยายามและชอบองค์ประกอบ FRP ตอนนี้ฉันต้องการทราบว่าโครงสร้างที่คล้ายกันเป็นไปได้ใน Fay หรือไม่ มีตัวอย่างที่เป็นรูปธรรมของ FRP ในเรื่องนี้บ้างไหม ณ จุดนี้? เทคโนโลยีบางอย่างที่เกี่ยวข้อง: Arrowlets , arrowised FRP ใน javascript FlapJaxอีกทางเลือกหนึ่งของจาวาสคริปต์ Bacon.js , FRP ใน javascript ทางออกหนึ่งที่เป็นไปได้โดยใช้เบคอน ด้วยการสาธิต

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

4
ฉันจะหลีกเลี่ยงฟีเจอร์คืบในโครงการเดี่ยวได้อย่างไร
ดังนั้นผมจึงมีโปรแกรมที่ผมทำงานเกี่ยวกับการกลับมาในปี 2011 และตลอดปี 2012 แต่การเปิดตัวล่าสุดคือในเดือนธันวาคม2011 ฉันทำงานอย่างแข็งขันกับมัน แต่ฟีเจอร์คืบคลานเข้ามาล่อหัวที่น่าเกลียดและตอนนี้มันเต็มไปด้วยฟีเจอร์ที่ยังไม่เสร็จ ส่วนที่ร้ายก็คือว่าในขณะที่ฉันใช้คุณลักษณะใหม่ในครีพ. ฉันสามารถทำสิ่งที่หลีกเลี่ยงคุณลักษณะคืบในอนาคตเพื่อให้สามารถได้รับจริงปล่อยออกมาในกว่าปี ? โครงการดังกล่าวใช้ iOS เป็นหลักและเคยมีการเผยแพร่รอบ ๆ การอัปเดต iOS แต่ละรุ่น แต่ล่าสุดนั้นกลับมาพร้อมกับ 5.1 (2011) ฉันต้องการที่จะได้รับรอบการเปิดตัวที่มั่นคงกลับมา แต่มันได้พิสูจน์แล้วว่ายากเกินไป

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

10
วิธีเขียนโปรแกรม Java ที่มีประโยชน์โดยไม่ใช้ตัวแปรที่ไม่แน่นอน
ฉันอ่านบทความเกี่ยวกับการเขียนโปรแกรมการทำงานที่ผู้เขียนระบุ (take 25 (squares-of (integers))) ขอให้สังเกตว่ามันไม่มีตัวแปร แน่นอนมันมีอะไรมากกว่าสามฟังก์ชั่นและหนึ่งคงที่ ลองเขียนกำลังสองของจำนวนเต็มใน Java โดยไม่ต้องใช้ตัวแปร โอ้มีวิธีที่จะทำ แต่แน่นอนมันไม่เป็นธรรมชาติและมันจะไม่อ่านอย่างที่โปรแกรมของฉันข้างต้น เป็นไปได้ไหมที่จะบรรลุสิ่งนี้ใน Java? สมมติว่าคุณจำเป็นต้องพิมพ์สแควร์ของจำนวนเต็ม 15 ตัวแรกคุณสามารถเขียน a for หรือ while loop โดยไม่ใช้ตัวแปรได้หรือไม่? แจ้งให้ทราบล่วงหน้า mod คำถามนี้ไม่ใช่การแข่งขันกอล์ฟรหัส เรากำลังมองหาคำตอบที่อธิบายแนวคิดที่เกี่ยวข้อง (นึกคิดโดยไม่ต้องทำซ้ำคำตอบก่อนหน้า) และไม่เพียง แต่สำหรับรหัสอื่น

2
การนำรูปแบบคำสั่งไปใช้ใน RESTful API
ฉันอยู่ในขั้นตอนการออกแบบ HTTP API หวังว่าจะทำให้ RESTful ที่สุดเท่าที่จะทำได้ มีการกระทำบางอย่างที่ฟังก์ชันการทำงานกระจายไปทั่วทรัพยากรบางอย่างและบางครั้งจำเป็นต้องเลิกทำ ฉันคิดกับตัวเองเสียงนี้ดูเหมือนรูปแบบคำสั่ง แต่ฉันจะสร้างแบบจำลองเป็นทรัพยากรได้อย่างไร ฉันจะแนะนำทรัพยากรใหม่ชื่อ XXAction เช่น DepositAction ซึ่งจะถูกสร้างขึ้นผ่านบางสิ่งเช่นนี้ POST /card/{card-id}/account/{account-id}/Deposit AmountToDeposit=100, different parameters... สิ่งนี้จะสร้าง DepositAction ใหม่และเปิดใช้งานวิธีการ Do / Execute ในกรณีนี้การส่งคืนสถานะ HTTP ที่สร้าง 201 หมายถึงการดำเนินการถูกดำเนินการสำเร็จ หลังจากนั้นหากลูกค้าต้องการดูรายละเอียดการกระทำที่เขาสามารถทำได้ GET /action/{action-id} ควรปิดกั้นการอัปเดต / วางเพราะฉันไม่เกี่ยวข้องที่นี่ และเพื่อเลิกทำการกระทำฉันคิดถึงการใช้ DELETE /action/{action-id} ซึ่งจริงๆแล้วจะเรียกวิธีการเลิกทำของวัตถุที่เกี่ยวข้องและเปลี่ยนสถานะเป็น สมมติว่าฉันมีความสุขกับสิ่งเดียวที่ต้องเลิกทำฉันไม่จำเป็นต้องทำซ้ำ วิธีนี้ใช้ได้หรือไม่ มีข้อผิดพลาดใด ๆ เหตุผลที่จะไม่ใช้มัน? สิ่งนี้เป็นที่เข้าใจจาก POV ของลูกค้าหรือไม่

5
คุณบีบอัดสตริง ASCII เป็นไบต์ที่น้อยลงได้อย่างไร
ฉันทำงานกับอุปกรณ์ฝังตัวที่มีโปรโตคอลเฉพาะที่ส่งข้อความไปยังอุปกรณ์อื่นและฉันกำลังสร้างแอปพลิเคชันที่แยกวิเคราะห์แพ็คเก็ตที่ส่ง แต่ละแพ็คเก็ตมีขนาด 8 ไบต์ โพรโทคอลถูกกำหนดเป็นโดยที่ไบต์แรกเป็นส่วนหัวและ 7 ไบต์ที่เหลือคือข้อมูล พวกเขาพยายามที่จะส่งสตริง ID เฉพาะ แต่สตริง ID ยาว 8 อักขระ (ASCII) ดังนั้นมันจะไม่พอดีกับ 7 ไบต์ สิ่งที่เพื่อนร่วมงานของฉันบอกฉันคือพวกเขากำลังจะเปลี่ยน 8 ไบต์ ASCII ของสตริงเดิมเป็นจำนวนเต็ม (ทศนิยม) และส่งให้ฉัน 4 ไบต์ พวกเขาบอกฉันว่าฉันควรจะได้รับสายดั้งเดิมจาก 4 ไบต์ ฉันมีปัญหาเวลาปิดหัวของฉันรอบนี้ ดังนั้นถ้าคุณมีสตริง ID เช่น "IO123456" นั่นคือ 0x49 0x4f 0x31 0x32 0x33 0x34 0x35 0x35 0x36 ใน ASCII .. คุณจะบีบอัดมันใน …
12 strings  ascii  byte 

3
คุณสมบัติใดบ้างที่ควรทดสอบผ่านการทดสอบ UI อัตโนมัติ
เมื่อเร็ว ๆ นี้เรามีที่ปรึกษาแจ้งว่าหากคุณลักษณะสามารถทดสอบได้ผ่านการทดสอบ UI อัตโนมัติเท่านั้น (เช่น Selenium, Coded UI) แสดงว่ามีปัญหาสถาปัตยกรรมพื้นฐาน ในขณะที่คำสั่งนี้อาจจะสุดขีดเล็กน้อยมันเป็นไปตามแนวเดียวกันของปิรามิดการทดสอบในการทดสอบ UI นั้นควรประกอบขึ้นเป็นส่วนเล็ก ๆ ของชุดทดสอบอัตโนมัติโดยรวมของคุณ ดังนั้นคุณสมบัติใดบ้างที่ควรมีการทดสอบ UI อัตโนมัติ ระบบที่มีสถาปัตยกรรมตรงประเด็นจะยังคงมีคุณสมบัติที่สามารถตรวจสอบได้ผ่านการทดสอบ UI หรือการทดสอบเหล่านี้ควรทำหน้าที่เป็น "แบ็คอัพ" สำหรับชุดของการทดสอบหน่วยและบริการหรือไม่

1
เหตุผลในการลบประเภทฟังก์ชั่นใน Java 8
ฉันพยายามเข้าใจว่าเพราะเหตุใด JDK 8 Lambda Expert Group (EG) จึงตัดสินใจไม่รวมฟังก์ชันประเภทใหม่ลงในภาษาการเขียนโปรแกรม Java ไปกว่ารายการทางผมพบว่าหัวข้อที่มีการอภิปรายเกี่ยวกับการกำจัดของประเภทฟังก์ชั่น ข้อความหลายข้อคลุมเครือสำหรับฉันอาจเป็นเพราะการขาดบริบทและในบางกรณีเนื่องจากความรู้ที่ จำกัด ของฉันเกี่ยวกับการใช้งานระบบพิมพ์ อย่างไรก็ตามมีคำถามสองสามข้อที่ฉันเชื่อว่าฉันสามารถกำหนดได้อย่างปลอดภัยในไซต์นี้เพื่อช่วยให้ฉันเข้าใจได้ดีขึ้นว่าพวกเขาหมายถึงอะไร ฉันรู้ว่าฉันสามารถถามคำถามในรายการส่งเมลได้ แต่เธรดเก่าและการตัดสินใจทั้งหมดได้ทำไปแล้วดังนั้นโอกาสที่ฉันจะถูกเพิกเฉยเหนือสิ่งอื่นใดที่เห็นว่าคนเหล่านี้มีแผนล่าช้าอยู่แล้ว ในคำตอบของเขาที่ให้การสนับสนุนการลบประเภทฟังก์ชั่นและรับรองการใช้งาน SAM ประเภท Brian Goetz พูดว่า: ไม่มีการดัดแปลง มีเธรดที่ยาวเกี่ยวกับประโยชน์ของการปรับประเภทของฟังก์ชัน ประเภทฟังก์ชั่นจะ hobbled ฉันไม่พบกระทู้ที่เขาพูดถึง ตอนนี้ฉันสามารถเข้าใจได้ว่าการแนะนำฟังก์ชั่นโครงสร้างอาจหมายถึงภาวะแทรกซ้อนบางอย่างในระบบจาวาส่วนใหญ่ที่ระบุสิ่งที่ฉันไม่เข้าใจคือประเภท SAM parametrized แตกต่างกันในแง่ของการทำให้ใหม่ พวกเขาทั้งคู่ต่างก็ประสบปัญหาการทำให้เหมือนกันหรือไม่? ใครบ้างเข้าใจว่าประเภทฟังก์ชั่นแตกต่างจากประเภท SAM parametrized ในแง่ของการทำให้ใหม่? ในความคิดเห็นอื่น Goetz พูดว่า: มีสองวิธีพื้นฐานในการพิมพ์: ชื่อและโครงสร้าง ตัวตนของชื่อจะขึ้นอยู่กับชื่อของมัน ตัวตนของโครงสร้างประเภทนั้นขึ้นอยู่กับสิ่งที่มันประกอบไปด้วย (เช่น "tuple of int, int" หรือ "ฟังก์ชั่นจาก …

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

4
อะไรคือข้อดีของ "วิธีการรวมกัน" ของ Getter / Setter VS แต่ละวิธี
นี่คือสิ่งที่ฉันเรียกวิธีการ "รวม" getter / setter (จาก jQuery): var foo = $("<div>This is my HTML</div>"), myText; myText = foo.text(); // myHTML now equals "This is my HTML" (Getter) foo.text("This is a new value"); // The text now equals "This is a new value") นี่คือตรรกะเดียวกันกับวิธีการแยก (ทางทฤษฎี): var foo = $("<div>This is my …

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

3
จัดส่งห้องสมุดชั้นหนึ่งของฉัน gotchas ใด ๆ ที่ฉันต้องระวัง?
ฉันเป็นนักพัฒนาเว็บเกี่ยวกับที่จะปลดล็อคความสำเร็จ "ห้องสมุด First Class ที่เผยแพร่" ในอาชีพการงานของฉันและฉันเหงื่อออกกระสุน (ฉันก็เครียดทั้งคืน) ฉันชอบที่จะแตะประสบการณ์ของชุมชนเพื่อดูว่าใครมีคำแนะนำหรือคำแนะนำใด ๆ เพื่อให้แน่ใจว่าสิ่งนี้จะดำเนินไปอย่างราบรื่นที่สุด มีอะไรพิเศษหรือ gotchas ฉันต้องระวัง? มีอะไรพิเศษเกี่ยวกับกระบวนการสร้างที่สามารถกลับมากัดฉันได้ไหม ที่นี่ฉันอยู่ที่: ห้องสมุดได้รับการทดสอบโดยหน่วยและมีรหัสครอบคลุมประมาณ 97% API ได้รับการบันทึกไว้อย่างดีและมีการสร้างเอกสาร xml สำหรับการสนับสนุนภายใน ฉันได้รับรองว่าผู้เข้าถึงคลาสสาธารณะ / ส่วนตัวนั้นถูกต้องและถูกต้อง เช่นเดียวกันกับ getters / setters ทั้งหมด การจัดการข้อผิดพลาดไม่ได้อย่างสง่างามอย่างที่ฉันต้องการ แต่ฉันไม่เห็นเส้นตายและยอมรับว่ามันเป็น "ดีเท่าที่ควรจะเป็น" ในตอนนี้ ไม่มีการบันทึกที่เป็นมิตร Debug.Writeline ถูกใช้อย่างกว้างขวาง ... ฉันได้เรียนรู้เมื่อเร็ว ๆ นี้ว่านี่เป็นภาพสะท้อนของความไม่มีประสบการณ์ของฉัน :( คำแนะนำของคุณได้รับการชื่นชมอย่างมาก! ห้องสมุดจะใช้ในการสร้างรายงาน หมวกมาตรฐาน - เชื่อมต่อกับฐานข้อมูลแบบอ่านอย่างเดียวดำเนินการ calcs จัดรูปแบบและส่งออกข้อมูลไปยังสตรีมตอบกลับ ฉันถูกทาบทามให้เป็นแหล่งข้อมูลเพื่อเติมเต็มให้กับหนึ่งในโปรแกรมเมอร์ที่ลาออกและงานนี้ให้ฉันเป็นโครงการ "ฟันของคุณ" …

4
ซิงเกิลตันที่ไม่เปลี่ยนรูป / ไร้สัญชาตินั้นแย่หรือไม่?
เมื่อเร็ว ๆ นี้มีการปฏิวัติต่อต้านซิงเกิลบ้าง แต่มีอะไรผิดปกติกับพวกเขาไหมถ้าพวกเขาไร้สัญชาติ? ฉันรู้ว่าการพูดคุยที่มากเกินไปและทั้งหมด ... สิ่งนี้ใช้ได้กับทุกสิ่งที่ไม่ใช่แค่ซิงเกิลตัน

5
คำแนะนำในการตั้งชื่อวัตถุเฉพาะโดเมนที่ไม่เหมาะสมหรือไม่
ฉันกำลังสร้างแบบจำลองระบบเคมีและฉันมีปัญหากับการตั้งชื่อองค์ประกอบ / รายการของฉันภายใน Enum ฉันไม่แน่ใจว่าฉันควรใช้: สูตรอะตอม ชื่อทางเคมี ชื่อทางเคมีแบบย่อ ตัวอย่างเช่นกรดซัลฟูริกคือ H2SO4 และกรดไฮโดรคลอริกคือ HCl ด้วยสองอย่างนั้นฉันอาจจะใช้สูตรปรมาณูเนื่องจากมันเป็นเรื่องธรรมดา อย่างไรก็ตามฉันมีคนอื่น ๆ เช่นโซเดียม hexafluorosilicate ซึ่งก็คือ Na2SiF6 ในตัวอย่างที่สูตรอะตอมไม่เป็นที่เห็นได้ชัด (กับผม) myEnum.SodiumHexaFluoroSilicateแต่ชื่อทางเคมีคือน่ากลัวยาว: ฉันไม่แน่ใจว่าฉันจะสามารถสร้างชื่อทางเคมีอย่างย่อได้อย่างปลอดภัยซึ่งจะมีรูปแบบการตั้งชื่อที่สอดคล้องกันอย่างไร มีปัญหาสองสามข้อที่ฉันพยายามแก้ไขด้วยการตั้งชื่อองค์ประกอบ enum วิธีแรกคือความสามารถในการอ่านโดยมีชื่อยาวกว่าที่แสดงถึงปัญหา ข้อที่สองคือความง่ายในการหยิบรหัสสำหรับผู้ดูแลใหม่และที่นี่ชื่อที่สั้นกว่าจะแสดงปัญหา ปัญหาต่อไปคือเจ้าของธุรกิจมักจะอ้างถึงชื่อเคมีแบบเต็ม แต่ไม่เสมอไป สารเคมี "คำหนึ่ง" ถูกอ้างถึงโดยสูตรของพวกเขา ข้อกังวลสุดท้ายคือทำให้แน่ใจว่ามันสอดคล้องกัน ฉันไม่ต้องการใช้การตั้งชื่อแบบผสมเนื่องจากจะไม่สามารถจำได้ว่าควรใช้แบบใด จากมุมมองการบำรุงรักษาตัวเลือกการตั้งชื่อใดที่คุณต้องการดูและเพราะเหตุใด หมายเหตุ: ทุกอย่างที่นี่ด้านล่างบรรทัดเป็นส่วนเสริม | ชี้แจงวัสดุ โปรดอย่าจมดิ่งลงไป คำถามหลักเกี่ยวกับการตั้งชื่อวัตถุที่น่าอึดอัดใจ ตัวเลือกอะตอม สาธารณะ myEnum.ChemTypes { H2SO4, HCl, Na2SiF6 } ตัวเลือกชื่อเคมี …

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