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

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

8
เหตุใดนักพัฒนาซอฟต์แวร์จึงต้องติดตามเทคโนโลยีและระเบียบวิธีต่างๆอยู่เสมอ [ปิด]
ฉันได้รับคำแนะนำเสมอว่านักพัฒนาจำเป็นต้องอัพเดทเทคโนโลยีล่าสุดอยู่เสมอ - สิ่งต่างๆเช่น webrtc, อัปเดตใน html5 และ css3 และ js ไลบรารีใหม่, วิธีการซอฟต์แวร์เช่น TDD, DDD, และ BDD คำถามคือทำไม ? ทำไมเราต้องปรับปรุงตัวเองอย่างต่อเนื่อง? เราจะยึดติดกับสิ่งที่เรารู้และดีขึ้นหรือไม่?
28 skills 

9
คุณจะจัดระเบียบซอฟต์แวร์ที่ปรับแต่งได้อย่างไร
ฉันกำลังทำงานในโครงการซอฟต์แวร์ขนาดใหญ่ซึ่งได้รับการปรับแต่งอย่างดีสำหรับลูกค้าที่หลากหลายทั่วโลก ซึ่งหมายความว่าเราอาจมีรหัส 80% ซึ่งเป็นเรื่องปกติระหว่างลูกค้าหลายราย แต่ยังมีรหัสจำนวนมากที่ต้องเปลี่ยนจากลูกค้ารายหนึ่งเป็นลูกค้ารายอื่น ในอดีตที่ผ่านมาเราทำการพัฒนาของเราในที่เก็บแยกต่างหาก (SVN) และเมื่อโครงการใหม่เริ่มต้น (เรามีน้อย แต่ลูกค้าขนาดใหญ่) สร้างพื้นที่เก็บข้อมูลอื่นตามโครงการที่ผ่านมามีพื้นฐานรหัสที่ดีที่สุดสำหรับความต้องการของเรา สิ่งนี้ได้ผลในอดีต แต่เราพบปัญหาหลายประการ: ข้อบกพร่องที่ได้รับการแก้ไขในที่เก็บหนึ่งจะไม่ได้รับการแก้ไขในที่เก็บอื่น ๆ นี่อาจเป็นปัญหาขององค์กร แต่ฉันพบว่ามันยากที่จะแก้ไขและแก้ไขข้อบกพร่องในที่เก็บ 5 แห่งที่แตกต่างกันโดยคำนึงว่าทีมที่ดูแลพื้นที่เก็บข้อมูลนี้อาจอยู่ในอีกส่วนหนึ่งของโลกและเราไม่มีสภาพแวดล้อมการทดสอบ ไม่ทราบกำหนดการหรือข้อกำหนดที่ต้องมี ("ข้อบกพร่อง" ในประเทศหนึ่งอาจเป็น "คุณสมบัติ" ในอีกประเทศหนึ่ง) คุณสมบัติและการปรับปรุงที่ทำไว้สำหรับโครงการหนึ่งซึ่งอาจเป็นประโยชน์สำหรับโครงการอื่นหายไปหรือหากใช้ในโครงการอื่นมักทำให้เกิดอาการปวดหัวขนาดใหญ่รวมจากรหัสฐานหนึ่งไปยังอีกโครงการหนึ่ง (เนื่องจากทั้งสองสาขาอาจได้รับการพัฒนาอย่างอิสระเป็นเวลาหนึ่งปี ) Refactorings และการปรับปรุงรหัสที่ทำในสาขาการพัฒนาหนึ่งอาจสูญหายหรือก่อให้เกิดอันตรายมากกว่าดีถ้าคุณต้องรวมการเปลี่ยนแปลงทั้งหมดเหล่านี้ระหว่างสาขา ขณะนี้เรากำลังพูดถึงวิธีการแก้ปัญหาเหล่านี้และในขณะนี้ได้มีแนวคิดต่อไปนี้เกี่ยวกับวิธีการแก้ไขปัญหาดังกล่าว: ทำการพัฒนาในสาขาที่แยกกันแต่จัดระเบียบได้ดีขึ้นด้วยการมีที่เก็บส่วนกลางที่มีการแก้ไขข้อบกพร่องทั่วไปและรวมโครงการทั้งหมดเข้าด้วยกันการเปลี่ยนแปลงจากที่เก็บส่วนกลางนี้เป็นของตัวเองเป็นประจำ (เช่นทุกวัน) เรื่องนี้ต้องมีวินัยอย่างมากและมีความพยายามอย่างมากในการผสานระหว่างสาขา ดังนั้นฉันไม่มั่นใจว่ามันจะทำงานได้และเราสามารถรักษาวินัยนี้โดยเฉพาะอย่างยิ่งเมื่อเวลากดดัน ละทิ้งการพัฒนาแยกสาขาและมีที่เก็บรหัสกลางที่รหัสของเราทั้งหมดอยู่และทำการปรับแต่งของเราโดยมีโมดูลที่เสียบได้และตัวเลือกการกำหนดค่า เรากำลังใช้คอนเทนเนอร์การพึ่งพาการพึ่งพาเพื่อแก้ไขการพึ่งพาในรหัสของเราและเรากำลังติดตามรูปแบบ MVVM ในรหัสส่วนใหญ่ของเราเพื่อแยกตรรกะทางธุรกิจออกจาก UI ของเราอย่างหมดจด วิธีที่สองดูเหมือนจะสง่างามกว่า แต่เรามีปัญหาที่ยังไม่คลี่คลายในแนวทางนี้ ตัวอย่างเช่นวิธีจัดการกับการเปลี่ยนแปลง / การเพิ่มเติมในแบบจำลอง / ฐานข้อมูลของคุณ เราใช้. NET กับ …

7
ความแตกต่างระหว่างไม่เปลี่ยนรูปและ const
ฉันมักจะเห็นคำศัพท์immutableและconstใช้สลับกันได้ อย่างไรก็ตามจากประสบการณ์ (เล็กน้อย) ของฉันทั้งสองต่างกันมากใน 'สัญญา' ที่พวกเขาทำในรหัส: ไม่เปลี่ยนรูปทำให้สัญญาที่วัตถุนี้จะไม่เปลี่ยนแปลงใด ๆ (เช่น Python tuples, สตริง Java) Const ทำสัญญาที่อยู่ในขอบเขตของตัวแปรนี้มันจะไม่ถูกแก้ไข (ไม่มีสัญญาใด ๆ เกี่ยวกับสิ่งที่เธรดอื่น ๆ อาจทำกับวัตถุที่ชี้ไปในช่วงเวลานี้เช่นคีย์เวิร์ด C / C ++) เห็นได้ชัดว่าทั้งสองไม่เทียบเท่ากันยกเว้นภาษานั้นเป็นแบบเธรดเดียว (PHP) หรือมีทั้งระบบการพิมพ์เชิงเส้นหรือแบบ uniquness (Clean, Mercury, ATS) ครั้งแรกฉันเข้าใจแนวคิดทั้งสองนี้ถูกต้องหรือไม่ ประการที่สองหากมีความแตกต่างทำไมพวกเขาเกือบใช้เฉพาะแทนกันได้?

13
การครอบคลุมโค้ด 100% เป็นความฝันที่ไพเราะหรือไม่?
มันเป็นไปได้ที่จะคาดหวังความคุ้มครองรหัส 100% ในการใช้งานเว็บ jquery / backbonejs หนัก? มันสมเหตุสมผลที่จะล้มเหลวในการวิ่งเนื่องจากความครอบคลุม 100% ไม่พบเมื่อครอบคลุมรหัสจริงวนเวียนอยู่รอบ ๆ 92% -95% ใน javascript / jquery?
28 code-quality  tdd  bdd 

10
มีเหตุผลที่ดีที่จะใช้เรียนรู้หรือแนะนำ XSLT หรือไม่ [ปิด]
ฉันเป็นนักพัฒนาซอฟต์แวร์ในช่วง 8 ปีที่ผ่านมา เราใช้ XSLT เป็นหลักในการแปลง XML เป็น HTML เรายังใช้มันสำหรับการแปลง XML เป็น XML แต่ตอนนี้เรามีการแทนที่ทุกอย่างแล้ว HTML สามารถสร้างได้อย่างสะดวกสบายผ่านภาษาการเขียนโปรแกรมเช่น ASP.Net XML สามารถอ่านและจัดทำในภาษาระดับสูงมาตรฐานใด ๆ เนื่องจากการเขียนโปรแกรมใน XSLT มีความซับซ้อนเล็กน้อยจึงไม่มีใครอยากทำงานกับภาษาโปรแกรมล่าสุด ตอนนี้คำถามของฉัน: XSLT จะเป็นตัวเลือกที่สำคัญในอนาคตหรือไม่โดยไม่คำนึงถึงข้อเท็จจริงของการพัฒนา XSLT ไว้แล้ว? ฉันสามารถแนะนำโปรแกรมเมอร์ใหม่เพื่อศึกษา XSLT ได้ไหม?
28 xslt 

2
การเขียนโปรแกรมภาษาญี่ปุ่นเป็นอย่างไร? [ปิด]
รหัสเขียนเป็นภาษาญี่ปุ่นหรือไม่ ชื่อไฟล์เป็นภาษาอังกฤษหรือไม่? สิ่งที่ชอบตัวประมวลผลล่วงหน้า C? นั่นเป็นภาษาอังกฤษหรือเปล่า? มีความคิดเห็นเป็นภาษาญี่ปุ่นหรือไม่ ตัวอย่างก็ดีเช่นกัน

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

3
ประกาศใบอนุญาตหลายใบในโครงการ GitHub
เป็นเวลาหลายปีที่ฉันเป็นแฟนตัวยงของการให้สิทธิ์ใช้งานในสิ่งที่แบ่งปันทางออนไลน์เพื่อให้ผู้อื่นสามารถระบุได้ง่ายขึ้นว่าพวกเขาสามารถนำสิ่งต่าง ๆ กลับมาใช้ใหม่ได้อย่างไร ก่อนที่ GitHub จะเริ่ม 'กด' ผู้ใช้อย่างเบา ๆ เพื่อรวมไฟล์ LICENSE กับ repos ของพวกเขาฉันไม่รู้จริง ๆ ว่าจะทำอย่างไรดีที่สุดด้วยรหัส - โดยเฉพาะอย่างยิ่งรหัสที่แชร์กับ GitHub! - แต่ฉันพยายามใช้ไฟล์ LICENSE ให้เป็นประโยชน์ ตอนนี้ฉันอยู่ในสถานการณ์ที่ฉันได้ทำงานในโครงการเล็ก ๆ กับคนอื่น ๆ ซึ่งต้องการใบอนุญาตหลายใบ (เนื่องจากรหัส & ไลบรารีของบุคคลที่สามรวมถึงไฟล์ที่ไม่ใช่รหัส) ในขณะที่คู่ของฉันไปเกี่ยวกับปัญหาค่อนข้าง 'สะเพร่า' - มันแนะนำให้ฉันเพียงแค่ใส่รหัสออนไลน์ตามที่เป็นอยู่ไม่มีใครจะดูแล '- ฉันอยากทำอย่างถูกต้อง ปัญหาคือ: ฉันไม่รู้ว่าควรจะกล่าวถึงใบอนุญาตหลายใบ (ต่างกัน) ใน GitHub อย่างไร ฉันเคยเห็นวิธีแก้ปัญหาที่แตกต่างกันหลายอย่างใน GitHub ซึ่งเป็นเหตุผลว่าทำไมฉันจึงยากที่จะตัดสินว่าคำตอบของคำถามที่แตกต่างกันเล็กน้อยนั้นเป็นเรื่องจริงหรือไม่ สิ่งที่ฉันอยากรู้ก็คือข้อใดต่อไปนี้ - ถ้ามี - …
28 licensing  github 

4
มันคุ้มค่าที่จะตรวจสอบเพื่อดูว่า Guid.NewGuid () เป็น Guid.Empty หรือไม่
ในหนึ่งในโครงการที่ฉันทำงานในรูปแบบต่อไปนี้จะเห็นเป็นประจำค่อนข้าง: var guid = Guid.NewGuid().ToString(); while (guid == Guid.Empty.ToString()) { guid = Guid.NewGuid().ToString(); } ในขณะที่ฉันเข้าใจว่า AA GUID ไม่ได้รับประกันว่าจะไม่ซ้ำกันและตามเอกสาร MSDN GUID ที่สร้างขึ้นอาจเป็นศูนย์นี่เป็นข้อพิจารณาเชิงปฏิบัติที่คุ้มค่าที่จะส่งการทดสอบวงจรสำหรับทั้งในแง่ของการคำนวณและในแง่ของเวลาของนักพัฒนา ?
28 .net  security 

2
เหตุใดจึงเลือกเครื่องหมายเปอร์เซ็นต์ (%) เป็นตัวระบุรูปแบบสำหรับตระกูลของฟังก์ชั่น printf
ทุกคนรู้ว่าอย่างน้อยใน C คุณใช้printfตระกูลฟังก์ชันเพื่อพิมพ์สตริงที่จัดรูปแบบ และฟังก์ชั่นเหล่านี้ใช้เครื่องหมายเปอร์เซ็นต์ ( %) เพื่อระบุจุดเริ่มต้นของตัวระบุรูปแบบ ยกตัวอย่างเช่น%dหมายถึงการพิมพ์intและวิธีการในการพิมพ์%u unsigned intหากคุณไม่คุ้นเคยกับการprintfทำงานของตัวยึดตำแหน่งและการจัดรูปแบบหรือเพียงต้องการทบทวนบทความ Wikipediaเป็นจุดเริ่มต้นที่ดี คำถามของฉันคือมีเหตุผลที่น่าสนใจเป็นพิเศษหรือไม่ว่าทำไมจึงควรเลือกใช้ตัวเลือกรูปแบบในอนาคตในอนาคต เห็นได้ชัดว่าการตัดสินใจทำมานานแล้ว (น่าจะเป็นบรรพบุรุษของภาษา C) และมันก็เป็น "มาตรฐาน" มากขึ้นเรื่อย ๆ ตั้งแต่นั้นมา (ไม่เพียง แต่ใน C แต่ยังอยู่ในภาษาอื่นอีกมากมาย ได้ปรับใช้ไวยากรณ์กับองศาที่แตกต่างกัน) ดังนั้นมันจึงสายเกินไปที่จะเปลี่ยนแปลง แต่ฉันก็ยังสงสัยว่าใครมีความเข้าใจว่าทำไมตัวเลือกนี้อาจเกิดขึ้นตั้งแต่แรกและไม่ว่ามันจะสมเหตุสมผลหรือไม่ถ้าเป็นคนออกแบบภาษาใหม่ด้วยฟังก์ชั่นที่คล้ายกัน ตัวอย่างเช่นด้วย C # (และตระกูลอื่น ๆ ของ. NET languages) Microsoft ตัดสินใจแตกต่างกันเล็กน้อยเกี่ยวกับการทำงานของฟังก์ชั่นการจัดรูปแบบสตริง แม้ว่าความปลอดภัยบางประเภทสามารถบังคับใช้ได้ที่นั่น (ไม่เหมือนกับการนำไปใช้printfใน C) และดังนั้นจึงไม่จำเป็นต้องมีการระบุประเภทของพารามิเตอร์ที่สอดคล้องกันพวกเขาตัดสินใจที่จะใช้เครื่องหมายปีกกาคู่ (ดัชนีศูนย์{}) เป็นตัวระบุรูปแบบเช่น: string output = String.Format("In {0}, the temperature …
27 c  history 

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

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

5
เมื่อการแปลงจากจำนวนเต็มเป็นโสดอาจสูญเสียความแม่นยำ
ฉันกำลังอ่านบทความจาก Microsoft เกี่ยวกับการขยับขยายการแปลงและตัวเลือกเข้มงวดเมื่อฉันไปถึงส่วน การแปลงต่อไปนี้อาจสูญเสียความแม่นยำ: จำนวนเต็มเป็นโสด ยาวเป็นโสดหรือสองเท่า ทศนิยมเป็นเดี่ยวหรือคู่ อย่างไรก็ตามการแปลงเหล่านี้จะไม่สูญเสียข้อมูลหรือขนาด .. แต่ตามบทความอื่นเกี่ยวกับชนิดข้อมูล , ประเภทจำนวนเต็มสามารถจัดเก็บได้ตั้งแต่ -2.147.483.648 ถึง 2.147.483.647 และ ประเภทเดียวสามารถเก็บได้จาก 1,401298E-45 ถึง 3,4028235E + 38 สำหรับตัวเลขบวก และ -3,4028235E + 38 ถึง - 1,401298E-45 สำหรับจำนวนลบ .. ดังนั้น Single สามารถเก็บตัวเลขได้มากกว่าจำนวนเต็ม ฉันไม่เข้าใจว่าสถานการณ์เช่นนี้จากการแปลงเป็นจำนวนเต็มอาจไม่แม่นยำ มีคนอธิบายได้ไหม

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

2
การทดสอบหน่วยถือว่ามีความเปราะหรือไม่ถ้ามันล้มเหลวเมื่อตรรกะทางธุรกิจเปลี่ยนไป?
โปรดดูรหัสด้านล่าง; มันทดสอบเพื่อดูว่าบุคคลที่มีเพศหญิงมีสิทธิ์ได้รับข้อเสนอ 1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } การทดสอบหน่วยนี้สำเร็จ อย่างไรก็ตามจะล้มเหลวหากมีการเสนอ 'Offer1' ให้กับสตรีในอนาคต เป็นที่ยอมรับหรือไม่ - ถ้าตรรกะทางธุรกิจโดยรอบเสนอ 1 การเปลี่ยนแปลงการทดสอบหน่วยจะต้องเปลี่ยน โปรดทราบว่าในบางกรณี (สำหรับข้อเสนอบางอย่าง) ตรรกะทางธุรกิจจะเปลี่ยนไปในฐานข้อมูลเช่นนี้: update Offers set Gender='M' where …

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