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

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

10
มีวัฒนธรรมย่อยของการเขียนโปรแกรม / ซอฟต์แวร์อยู่บ้าง กำหนดอะไร คุณเป็นของใคร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา สำหรับโลกภายนอกผู้เขียนโปรแกรมนักวิทยาศาสตร์คอมพิวเตอร์วิศวกรซอฟต์แวร์และนักพัฒนาอาจดูเหมือนกัน แต่ก็ยังห่างไกลจากกรณีของผู้ที่สร้างซอฟต์แวร์สำหรับการใช้ชีวิต ความสามารถและความรู้ของโปรแกรมเมอร์เดี่ยว ๆ นั้นมีความสามารถอย่างกว้างขวางเช่นเดียวกับเครื่องมือ (OS, ภาษา, และใช่, ตัวแก้ไขที่ต้องการ) และความหลากหลายนั้นทำให้เกิดวัฒนธรรมย่อยจำนวนมากในซอฟต์แวร์เช่นโปรแกรมเมอร์ที่ใช้ Stack Overflow และเว็บไซต์นี้ เมื่อเทียบกับอีกหลายคนที่ไม่ได้ ฉันอยากรู้อยากเห็นจากคนอื่น ๆ ว่าพวกเขาได้พบกับซอฟต์แวร์ย่อยวัฒนธรรมใดบ้างเป็นของชื่นชมชื่นชมไม่ชอบหรือแม้แต่สร้างขึ้นมา สำหรับการเริ่มฉันได้พบ: บริษัท และผู้พัฒนาที่ขับเคลื่อนด้วย Microsoft : สแต็กทั้งหมดมาจาก Redmond, WA อีเมลคือ Outlook คืออีเมล เว็บคือ IE และ IIS พวกเขามีตัวประสานขนาดใหญ่ของการสมัครสมาชิก MS Developer Network ซึ่งเต็มไปด้วย VB, .net, Visual Studio และอื่น …
13 culture  social 

3
มีโครงการที่น่าสนใจ แต่ไม่ยากเกินไปสำหรับผู้เริ่มต้นใช้งานเคอร์เนล
หลังจากเรียนหลักสูตรระบบปฏิบัติการฉันสนใจที่จะเพิ่มพูนความรู้เกี่ยวกับเคอร์เนล Linux และฝึกฝนการทำงานกับระบบขนาดใหญ่ มีโครงการที่น่าสนใจ แต่ไม่ยากเกินไปอะไรที่ฉันสามารถลองทำได้? แก้ไข: พื้นหลังเล็กน้อยเกี่ยวกับสิ่งที่ฉันทำกับเคอร์เนล ใช้นโยบายการตั้งเวลาใหม่ นำเธรดผู้ใช้ไปใช้และไลบรารี mutex ที่สอดคล้องกัน (ไม่ใช่แฮ็คเคอร์เนลจริงๆ แต่มีทฤษฎีที่เกี่ยวข้องกับเคอร์เนล)
13 linux  kernel 

6
ฉันควรเลือกใบอนุญาตสำหรับโครงการของฉันอย่างไร
ตอนแรกฉันนึกถึงครีเอทีฟคอมมอนส์ในขณะที่อ่านหนังสือเกี่ยวกับเวิร์ดเพรส (มืออาชีพเวิร์ดเพรส) ฉันรู้ว่าฉันควรระบุด้วยว่าผลิตภัณฑ์นั้นมีให้ ... โดยไม่มีการรับประกันใด ๆ โดยไม่ต้องมีการรับประกันโดยนัยของความสามารถในการซื้อขายหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และพวกเขาแนะนำ GNU GPL ฉันจะเขียนใบอนุญาตหรือเลือก 1 ได้อย่างไร btw สิ่งที่MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSEจริงหมายถึงอะไร ไม่ได้โดยไม่มีการรับประกันเพียงพอหรือไม่
13 licensing 

6
คุณจะสร้างกระบวนการซอฟต์แวร์สำหรับโครงการได้อย่างไร
ตามที่ฉันได้เขียนในคำถามอื่น ๆ ที่นี่โครงการที่ฉันกำลังดำเนินการอยู่ในขณะนี้ไม่มีกระบวนการซอฟต์แวร์ นั่นหมายความว่าไม่มีเอกสาร (รวมทั้งความต้องการคัดลอกยากหรือสเปค)ไม่มีการควบคุมแหล่ง , ไม่มีฐานข้อมูลข้อผิดพลาดข้อบกพร่องเป็น "คงที่" (หวังว่า) และรหัสใหม่จะถูกเพิ่มในเวลาเดียวกันและไม่มีการทดสอบอย่างเป็นทางการ - เราจะล้มเหลวการทดสอบโจเอลแย่มากมันไม่ตลกเลย เมื่อวานนี้ผู้จัดการของฉันขอให้ฉันเขียนเอกสารเกี่ยวกับวิธีเริ่มแก้ไขข้อบกพร่องเหล่านี้ โปรดทราบว่าฉันแค่ฝึกงานที่นี่เป็นเวลา 6 เดือน ฉันจะออกไปในช่วงวันขอบคุณพระเจ้าในเดือนพฤศจิกายนเพื่อกลับไปโรงเรียน อย่างไรก็ตามฉันคิดว่าฉันอาจทำให้โครงการนี้เคลื่อนไหวไปในทิศทางที่ถูกต้อง แต่ฉันไม่แน่ใจว่าจะเริ่มต้นอย่างไร ขณะนี้ฉันกำลังใช้CiteSeerและWikipediaเพื่อพยายามค้นหาเอกสารและอธิบายกระบวนการซอฟต์แวร์และนำไปใช้ แต่คำแนะนำประสบการณ์ส่วนตัวหรือลิงก์ไปยังบล็อกเอกสารบทความ wiki หรืออื่น ๆ จะได้รับการชื่นชมอย่างมาก

2
สถาปัตยกรรมที่สะอาด: โมเดลการดูคืออะไร
ในหนังสือของเขาที่ชื่อว่า 'Clean Architecture' ลุงบ๊อบบอกว่าผู้นำเสนอควรใส่ข้อมูลที่ได้รับมาในสิ่งที่เขาเรียกว่า 'ดูแบบจำลอง' นี่เป็นสิ่งเดียวกันกับ 'ViewModel' จากรูปแบบการออกแบบ Model-View-ViewModel (MVVM) หรือเป็น Data Transfer Object (DTO) แบบง่ายหรือไม่? ถ้าไม่ใช่ DTO แบบง่ายมันเกี่ยวข้องกับมุมมองอย่างไร มุมมองได้รับการปรับปรุงจากความสัมพันธ์ผ่านผู้สังเกตการณ์หรือไม่ ฉันเดาว่ามันเป็นเหมือน ViewModel จาก MVVM เพราะในบทที่ 23 ของหนังสือของเขา Robert Martin กล่าวว่า: [งานของผู้นำเสนอ] คือการยอมรับข้อมูลจากแอปพลิเคชันและจัดรูปแบบสำหรับงานนำเสนอเพื่อให้มุมมองสามารถย้ายไปที่หน้าจอได้ ตัวอย่างเช่นหากแอปพลิเคชันต้องการวันที่แสดงในเขตข้อมูลมันจะมอบวัตถุวันที่นำเสนอ ผู้นำเสนอจะจัดรูปแบบข้อมูลนั้นลงในสตริงที่เหมาะสมและวางไว้ในโครงสร้างข้อมูลอย่างง่ายที่เรียกว่ารุ่นมุมมองซึ่งมุมมองสามารถค้นหาได้ นี่ก็หมายความว่ามุมมองนั้นเชื่อมต่อกับ ViewModel แทนการรับฟังก์ชั่นอาร์กิวเมนต์เป็นตัวอย่าง อีกเหตุผลหนึ่งที่ฉันคิดว่านี่เป็นเพราะถ้าคุณดูที่ภาพผู้นำเสนอใช้โมเดลมุมมอง แต่ไม่ใช่มุมมอง ในขณะที่ผู้นำเสนอใช้ทั้งขอบเขตการส่งออกและข้อมูลการส่งออก DTO หากไม่ใช่ DTO หรือ ViewModel จาก MVVM โปรดอธิบายอย่างละเอียดว่ามันคืออะไร

1
ค้นหาข้อมูลข้ามหลายไมโครไซต์
ฉันมีข้อมูลสำหรับโดเมนที่แน่นอนกระจายอยู่ระหว่าง microservice และฐานข้อมูลดั้งเดิม ฉันมีการค้นหาที่ครอบคลุมฟิลด์ในฐานข้อมูลทั้งแบบเก่าและแบบไมโคร ก่อนหน้านี้ (ก่อนที่จะมีการแบ่งไมโครบริการ) มันทำด้วยคิวรี 1 sql ตอนนี้ฉันต้องการการโทร REST และแบบสอบถามไปยังฐานข้อมูลเดิมเพื่อรองรับฟังก์ชันการค้นหานี้ เรากำลังพูดถึงแถวสองสามล้านแถวที่นี่ ฉันจะสร้างแบบจำลองที่ดีที่สุดได้อย่างไร เนื่องจากปริมาณของข้อมูลการเรียกใช้ REST จะส่งคืนผลลัพธ์การแบ่งหน้าตามปกติเช่นกัน วิธีการที่ไร้เดียงสาในการเริ่มการเรียกใช้ SQL และการรวมและผสานผลลัพธ์กับการตอบกลับของ REST นั้นช้าเกินไปและไม่สามารถใช้งานได้จริง

2
ทำไม glibc จึงถูกดูแลแยกจาก GCC
GCC เป็นคอมไพเลอร์ C Glibc เป็นไลบรารี C อย่างไรก็ตามมันเป็นความจำเป็นอย่างยิ่งสำหรับคอมไพเลอร์และไลบรารีมาตรฐานที่รวมเข้าด้วยกันเป็นการนำ C ไปใช้หรือไม่? ยกตัวอย่างเช่นห้องสมุด C มี ABI และคอมไพเลอร์ที่เฉพาะเจาะจงสิ่งที่ชอบ<limits.h>, <stdint.h>เป็นต้นซึ่งแตกต่างระหว่างคอมไพเลอร์และ API และรายละเอียดเช่น "วิธีการเรียกใช้ฟังก์ชั่นหลัก" นั้นยังขึ้นอยู่กับคอมไพเลอร์libc.soด้วย ตัวอย่างเช่นถ้าฉันเปลี่ยนคอมไพเลอร์ให้ทำงานกับ ABI อื่นเช่นใช้intกับ 8 ไบต์ไลบรารี C จะไม่ทำงานอีกต่อไปเพราะสิ่งที่อยู่ใน<limits.h>นั้นจะผิด
13 c  gcc 

1
ขั้นตอนที่ตามมาเมื่อเขียน lexer เป็นไปตามไวยากรณ์คืออะไร?
ในขณะที่อ่านคำตอบสำหรับคำถามที่ชี้แจงเกี่ยวกับแกรมมาร์, Lexers และ Parsersคำตอบดังกล่าวระบุว่า: [... ] ไวยากรณ์ BNF มีกฎทั้งหมดที่คุณต้องการสำหรับการวิเคราะห์คำและการแยกวิเคราะห์ สิ่งนี้เกิดขึ้นกับฉันค่อนข้างแปลกเพราะจนถึงตอนนี้ฉันมักจะคิดเสมอว่า lexer นั้นไม่ได้ยึดหลักไวยากรณ์เลยในขณะที่ parser มีพื้นฐานมาจากหนึ่ง ฉันมาถึงข้อสรุปนี้หลังจากอ่านโพสต์บล็อกจำนวนมากเกี่ยวกับการเขียน lexers และไม่มีใครเคยใช้1 EBNF / BNF เป็นพื้นฐานสำหรับการออกแบบ หาก lexers รวมถึง parsers อิงตามไวยากรณ์ EBNF / BNF แล้วจะมีวิธีการสร้าง lexer โดยใช้วิธีนั้นอย่างไร นั่นคือฉันจะสร้าง lexer โดยใช้ไวยากรณ์ EBNF / BNF ที่กำหนดได้อย่างไร ฉันเคยเห็นโพสต์มากมายที่เกี่ยวข้องกับการเขียนโปรแกรมแยกวิเคราะห์โดยใช้ EBNF / BNF เป็นแนวทางหรือพิมพ์เขียว แต่ฉันเจอมาไม่ถึงตอนนี้ที่แสดงเทียบเท่ากับการออกแบบเล็ก ตัวอย่างเช่นใช้ไวยากรณ์ต่อไปนี้: input = digit| string …

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

1
เหตุใด flask CLI จึงแนะนำให้ใช้กับ Flask.run
ใน Flask 0.11 มีการflaskแนะนำ CLI ขอแนะนำให้ใช้ทั้งเอกสารและสถานะการเปลี่ยนแปลง เอกสารเซิร์ฟเวอร์การพัฒนา : เริ่มต้นด้วย Flask 0.11 มีหลายวิธีในการรันเซิร์ฟเวอร์การพัฒนา ที่ดีที่สุดคือโปรแกรมอรรถประโยชน์บรรทัดคำสั่งของขวดแต่คุณยังสามารถใช้Flask.run()วิธีการต่อ บรรทัดคำสั่ง ขวดสคริปต์บรรทัดคำสั่ง (บรรทัดคำสั่ง Interface) ขอแนะนำอย่างยิ่งสำหรับการพัฒนาเพราะมีประสบการณ์ที่เหนือกว่าโหลดเนื่องจากวิธีการโหลดแอพลิเคชัน การใช้งานพื้นฐานมีดังนี้: $ export FLASK_APP=my_application $ export FLASK_DEBUG=1 $ flask run รายการเปลี่ยนแปลง : เพิ่มflaskและflask.cliโมดูลเพื่อเริ่มต้นเซิร์ฟเวอร์ดีบักโลคัลผ่านระบบคลิก CLI แนะนำให้ใช้กับflask.run()วิธีเก่าเนื่องจากทำงานได้เร็วขึ้นและเชื่อถือได้มากขึ้นเนื่องจากมีการออกแบบที่แตกต่างและแทนที่Flask-Scriptด้วย จนถึงตอนนี้ฉันไม่ได้สังเกตุว่า "ประสบการณ์รีโหลดที่เหนือกว่า" ฉันไม่เห็นจุดใช้ CLI เหนือสคริปต์ที่กำหนดเอง ถ้าใช้Flask.runฉันก็จะเขียนไฟล์หลาม: #!/usr/bin/env python3 from my_app import app if __name__ == '__main__': app.run(debug=True) …
13 python  flask 

6
“ เขียนแอสเซมเบลอร์เป็น C” ทำไมต้องเขียนโปรแกรมแปลรหัสเครื่องสำหรับภาษาระดับต่ำในภาษาระดับสูงกว่า
ผู้สอนคลาสไมโครโปรเซสเซอร์ของฉันให้การบ้านและบอกว่า: "เขียนแอสเซมเบลอร์เป็น C" - ศาสตราจารย์ที่รักของฉัน ดังนั้นมันดูไร้เหตุผลสำหรับฉันเล็กน้อย ถ้าฉันไม่ผิดภาษาแอสเซมบลีเป็นขั้นตอนแรกจากรหัสเครื่องไปยังการเดินทางของภาษาระดับสูงกว่า ฉันหมายถึง C เป็นภาษาระดับสูงกว่าการชุมนุม แล้วประเด็นของการเขียน Assembler ใน C คืออะไร? สิ่งที่พวกเขาทำในอดีตในขณะที่ไม่มีภาษา C? พวกเขากำลังเขียน Assembler ในรหัสเครื่องหรือไม่? ฉันไม่ควรเขียนตัวแปลรหัสเครื่องสำหรับภาษาระดับต่ำในภาษาระดับสูงกว่านี้ สมมติว่าเราได้สร้างสถาปัตยกรรมไมโครโปรเซสเซอร์ใหม่ที่ไม่มีแม้แต่คอมไพเลอร์ C สำหรับสถาปัตยกรรมนั้น ผู้ประกอบของเราที่เขียนใน C จะสามารถจำลองสถาปัตยกรรมใหม่ได้หรือไม่? ฉันหมายความว่ามันจะไร้ประโยชน์หรือไม่? ฉันรู้ได้อย่างไรว่า GNU Assembler และ Netwide Assembler เขียนด้วยภาษาซีฉันยังสงสัยว่าทำไมพวกเขาถึงเขียนเป็น C สุดท้ายนี้คือตัวอย่างซอร์สโค้ดสำหรับแอสเซมเบลอร์ที่อาจารย์ของเรามอบให้เรา: // to compile, gcc assembler.c -o assembler // No error check is provided. …

3
การออกใบอนุญาตใน Github
ฉันกำลังอัปโหลดไปยัง GitHub เป็นครั้งแรกและฉันกำลังเผชิญหน้ากับข้อสงสัยทั้งหมดเกี่ยวกับสิทธิ์ใช้งาน ฉันไม่รู้ว่าหัวข้อนั้นเป็นสิ่งที่เปิดเผยในเน็ต! แต่มันก็ซับซ้อนสถานการณ์ของฉันเป็นเรื่องปกติที่ฉันเดาว่าคนส่วนใหญ่ที่ใช้ Github รู้อยู่แล้ว ฉันต้องการอัพโหลดแอปสาธารณะที่อ้างอิง libs บุคคลที่สามใน POM สำหรับ Maven ของฉัน (แพ็คเกจ & สร้างตัวจัดการ Java) และเรียกพวกเขาในรหัสอย่างชัดเจน บางส่วนเป็น GPL, Apache อื่น ๆ , ใบอนุญาตหลายใบ ... คุณมักจะต้องกังวลเกี่ยวกับสิ่งนี้หรือไม่? ฉันไม่ได้แจกจ่ายไลบรารีแบบไบนารีหรือบุคคลที่สามใด ๆ ฉันไม่ได้ดัดแปลงพวกเขาฉันไม่ได้ใช้อะไรในเชิงพาณิชย์ ... ฉันต้องทำ "พูดถึงพวกเขาอย่างชัดเจน" หรือไม่? ไฟล์อะไร? ฉันจำเป็นต้องใช้ไลเซนส์ GPL ของฉันเองหรือไม่ สิ่งที่ทำให้ฉันสงสัยเกี่ยวกับวิธีการที่แท้จริงของข้อมูลบนอินเทอร์เน็ตคือฉันไม่เคยเห็นใครที่มีข้อสังเกตอ้างอิงถึงการใช้ Spring, JUnit และอื่น ๆ ...
13 licensing  gpl  github 

6
ปัญหาวงกลมวงรีสามารถแก้ไขได้โดยการย้อนกลับความสัมพันธ์หรือไม่?
การCircleยืดเวลาEllipseแบ่งหลักการ Liskov Substitionเนื่องจากมันจะแก้ไข postcondition: คุณสามารถตั้งค่า X และ Y อย่างอิสระเพื่อวาดวงรี แต่ X ต้องเท่ากับ Y เสมอสำหรับวงกลม แต่นี่ไม่ใช่ปัญหาที่เกิดจากการมี Circle เป็นชนิดย่อยของ Ellipse หรือไม่? เราไม่สามารถย้อนกลับความสัมพันธ์หรือไม่ ดังนั้นวงกลม supertype - setRadiusมันมีวิธีเดียว จากนั้นขยายวงรีวงกลมโดยการเพิ่มและsetX setYการเรียกsetRadiusใช้ Ellipse จะเป็นการตั้งค่าทั้ง X และ Y หมายถึง postcondition บน setRadius ได้รับการดูแล แต่ตอนนี้คุณสามารถตั้งค่า X และ Y ได้อย่างอิสระผ่านอินเทอร์เฟซเสริม

3
สิ่งที่ควรเป็นขอบเขตของการตรวจสุขภาพสำหรับระบบที่ปรับใช้ webapp?
วันนี้ฉันมีภารกิจ "เขียนเช็คสุขภาพ" สำหรับบริการที่ใช้เวลานานซึ่งเป็นระบบการประสานงานเพื่อปรับใช้เว็บแอพ ฉันกำลังพยายามกำหนดขอบเขตของการตรวจสุขภาพดังกล่าวและเกิดขึ้นกับคำถามเหล่านี้ที่เกี่ยวข้องกับขอบเขตของการตรวจสุขภาพ: มันดีพอที่จะพิจารณาบริการที่มีสุขภาพดีหรือไม่ถ้าระบบออเคสตร้ารายงานว่างานกำลังทำงานอยู่หรือไม่? หรือเราควรทำการปิงแต่ละบริการด้วยตนเอง หรือควรดำเนินการต่อไปและพยายามตรวจสอบให้แน่ใจว่าแอปพลิเคชันเว็บทำในสิ่งที่ควรทำเช่นแสดงหน้าเว็บหรือไม่ Healthcheck ต้องตรวจสอบด้วยว่าบริการที่ต้องพึ่งพาบางอย่างทำงานอยู่หรือไม่ เช่นเดียวกับฐานข้อมูลหรือระบบ orchestration นั้นเอง หรือว่าเป็นความรับผิดชอบของการตรวจสุขภาพอื่น? และสุดท้ายถ้าบริการใดแอพหนึ่งนั้นเสียชีวิตและแอพพลิเคชั่นเว็บล้มเหลวในภายหลังเว็บแอพควรรายงานสุขภาพที่ไม่ดีหรือมีสุขภาพที่ดีเพราะไม่ใช่ความผิดของเว็บแอป ฉันรู้ว่าคำถามเหล่านี้แบ่งออกเป็น 5 คำถาม แต่พวกเขาทั้งหมดเกี่ยวข้องกับขอบเขตของการตรวจสุขภาพสำหรับบริการที่ใช้งานยาวนานซึ่งปรับใช้แอปพลิเคชันเว็บดังนั้นฉันคิดว่ามันจะเหมาะสมกว่าที่จะจัดกลุ่มคำถามเหล่านี้ให้เป็นคำถามเดียว สิ่งนี้ยากที่จะนำมาใช้กับฉันเพราะฉันไม่แน่ใจว่าคำจำกัดความของสิ่งที่ดีต่อสุขภาพหรือการตรวจสุขภาพแบบมาตรฐานสำหรับสิ่งที่ควรมีลักษณะเช่นนี้ การตรวจสอบสุขภาพสำหรับบริการเฉพาะนี้ควรประกอบด้วยอะไร?

1
เรากำลังใช้วิธีการคงที่หรือไม่?
สองสามเดือนที่ผ่านมาฉันเริ่มทำงานในโครงการใหม่และเมื่อผ่านรหัสมันทำให้ฉันจำนวนคงที่วิธีการแบบคงที่ ไม่เพียง แต่วิธีการใช้งานยูทิลิตี้collectionToCsvString(Collection<E> elements)แต่ยังมีตรรกะทางธุรกิจมากมาย เมื่อผมถามคนที่มีความรับผิดชอบสำหรับเหตุผลที่อยู่เบื้องหลังนี้เขาบอกว่ามันเป็นวิธีการหนีออกจากการปกครองแบบเผด็จการของฤดูใบไม้ผลิ มันมีบางสิ่งที่อยู่รอบกระบวนการคิดนี้: เพื่อใช้วิธีการสร้างการรับลูกค้าเราอาจมีบริการ @Service public class CustomerReceiptCreationService { public CustomerReceipt createReceipt(Object... args) { CustomerReceipt receipt = new CustomerReceipt(); // creation logic return receipt; } } ตอนนี้ผู้ชายคนนั้นบอกว่าเขาไม่ชอบที่จะมีคลาสที่จัดการโดยสปริงโดยไม่จำเป็นเพราะมันมีข้อ จำกัด ว่าคลาสไคลเอนต์จะต้องเป็นสปริงบีนเอง เราจบลงด้วยการจัดการทุกอย่างในฤดูใบไม้ผลิซึ่งบังคับให้เราทำงานกับวัตถุไร้สัญชาติอย่างเป็นขั้นตอน มากหรือน้อยที่ระบุไว้ที่นี่https://www.javacodegeeks.com/2011/02/domain-driven-design-spring-aspectj.html ดังนั้นแทนที่จะเป็นรหัสข้างต้นเขามี public class CustomerReceiptCreator { public static CustomerReceipt createReceipt(Object... args) { CustomerReceipt receipt = new CustomerReceipt(); …

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