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

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

3
กำลังมองหารูปแบบการล็อคแบบกระจาย
ฉันจำเป็นต้องมีกลไกการล็อคออบเจ็กต์ซ้ำแบบกำหนดเอง \ pattern สำหรับระบบแบบกระจายใน C # โดยพื้นฐานแล้วฉันมีระบบหลายโหนด แต่ละโหนดมีสิทธิ์การเขียนพิเศษเหนือชิ้นส่วนของn -number สถานะเดียวกันนี้ยังมีอยู่ในรูปแบบอ่านอย่างเดียวบนโหนดอื่นอย่างน้อยหนึ่งโหนด การเขียน / อัปเดตบางรายการจะต้องเป็นแบบปรมาณูในทุกโหนดในขณะที่การอัปเดตอื่น ๆ ในที่สุดจะกลายเป็นกระบวนการจำลองแบบพื้นหลังที่สอดคล้องกันคิว ฯลฯ ... สำหรับการอัปเดตอะตอมมิกฉันกำลังมองหารูปแบบหรือตัวอย่างที่อนุญาตให้ฉันทำเครื่องหมายวัตถุอย่างถูกล็อกสำหรับการเขียนซึ่งฉันสามารถกระจายกระทำย้อนกลับ ฯลฯ ... เนื่องจากระบบมีการทำงานพร้อมกันในระดับสูงฉัน ฉันคิดว่าฉันจะต้องสามารถล็อคสแต็กอัพซึ่งจะหมดเวลาหรือไม่ได้เปิดเมื่อล็อคถูกปล่อยออกมา ส่วนการทำธุรกรรมหรือการส่งข้อความนั้นไม่ได้เป็นจุดสนใจของคำถามนี้ แต่ฉันได้จัดเตรียมไว้สำหรับบริบทเพิ่มเติมบางอย่าง จากที่กล่าวมาคุณสามารถพูดได้อย่างชัดเจนว่าคุณต้องการข้อความใดหากคุณต้องการ นี่คือตัวอย่างที่คลุมเครือของสิ่งที่ฉันคาดคิดแม้ว่าฉันจะเปิดรับความคิดใหม่ ๆ นอกเหนือจากการใช้ผลิตภัณฑ์ใหม่ทั้งหมด thing.AquireLock(LockLevel.Write); //Do work thing.ReleaseLock(); ฉันคิดว่าจะใช้วิธีการขยายซึ่งอาจมีลักษณะเช่นนี้ public static void AquireLock(this IThing instance, TupleLockLevel lockLevel) { //TODO: Add aquisition wait, retry, recursion count, timeout …

6
จะตรวจสอบ / พิสูจน์ความถูกต้องของภาษาโปรแกรมได้อย่างไร?
ฉันรู้แนวคิดของ orthogonality แต่จากมุมมองภาษาการเขียนโปรแกรมมีวิธีการตรวจสอบ / พิสูจน์หรือไม่ ตัวอย่างเช่นใน C # หนึ่งสามารถใช้publicหรือstaticลายเซ็นวิธี คุณสามารถใช้อย่างใดอย่างหนึ่งหรือทั้งสองและพวกเขาจะไม่รบกวนซึ่งกันและกันดังนั้นพวกเขาจึงมีมุมฉากซึ่งกันและกันใช่มั้ย คำถามของฉันคือฉันจะไปเกี่ยวกับคุณสมบัติที่เหลือโดยเฉพาะอย่างยิ่งคุณสมบัติที่ไม่เกี่ยวข้องกันได้อย่างไร คุณสมบัติทั้งหมดต้องอยู่ร่วมกัน / ซ้อนกันหรือไม่? มีภาษาการเขียนโปรแกรมที่เป็นมุมฉาก 100% หรือไม่?

2
“ bodyshop” (ในบริบทของการเขียนโปรแกรมงาน / สภาพแวดล้อม) หมายถึงอะไร
ฉันยังคงเจอคำว่า "bodyshop" ในแง่ของการเขียนโปรแกรมงาน / สภาพแวดล้อม แต่ถึงแม้ว่า googling ฉันไม่สามารถหาสิ่งที่มันหมายถึง? ใครช่วยได้โปรดให้ความรู้แก่ฉัน

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

5
การเปลี่ยนแปลงความคล่องตัวน้ำตกและความต้องการ
มีใครเคยมีปัญหาของโครงการนี้ถูกกำหนดเป็น 'เปรียว' ถูกย่ำยีโดยการเปลี่ยนแปลงข้อกำหนด ฉันทำงานในโครงการพัฒนาที่ทำงานใน 4 สัปดาห์ Sprint แต่มีการเปลี่ยนแปลงระหว่าง Sprints เหล่านี้เสมอ มันยังคงนิยามว่าเป็น Agile หรือไม่? ฉันรู้สึกว่ามันเป็นกระบวนการย่อยแบบ Agile - ความต้องการของกระบวนการแบบ Agile ควรถูกกำหนดไว้ที่จุดเริ่มต้นของการวิ่งและทบทวนไปจนถึงจุดสิ้นสุด ฉันถูกต้องในเรื่องนี้? โปรดแจ้งให้เราทราบประสบการณ์ของคุณในเรื่องนี้

3
มีรูปแบบการต่อต้านอย่างเป็นทางการเพื่ออธิบายสถานการณ์หรือไม่
มีการเขียนโค้ดบางส่วนเพื่อสร้าง Excel Spreadsheets (Office Interop) รหัสมีประสิทธิภาพต่ำมาก ระบบย่อยถูกออกแบบมาเพื่อสร้างไฟล์ในเวลากลางคืน การแสดงไม่ได้เป็นความกังวลในเวลากลางคืน ฟังก์ชั่นถูกสร้างขึ้นเพื่อเลือกไฟล์ที่ถูกต้องจาก 100 ไฟล์ที่แตกต่างกันขึ้นอยู่กับชุดของพารามิเตอร์ที่เลือก เนื่องจากมีฟิสิคัลไฟล์อยู่ระบบเก็บถาวรถูกเพิ่มเพื่อสำรองไฟล์เหล่านี้ (ไม่มีเหตุผลที่จะเก็บถาวรไฟล์เหล่านี้ควรถูกสร้างขึ้นทันที) ระบบนี้ไม่รวมไฟล์กำหนดค่า แต่มีฟังก์ชั่น "ตัวเลือกเซิร์ฟเวอร์" ที่เขียนโค้ดแบบยากซึ่งจะสะท้อนให้เห็นถึงเซิร์ฟเวอร์ที่โค้ดทำงานอยู่ งานที่กำหนดเวลาไว้เป็นสิ่งจำเป็นในการสนับสนุนและเรียกใช้บริการนี้ สิ่งนี้ทำให้เดือดร้อนเป็นปัญหาเดียว รหัสต้นฉบับทำงานได้ไม่ดีเกินกว่าที่จะเรียกใช้ในสภาพแวดล้อมการใช้งานจริงได้ หากปัญหาด้านประสิทธิภาพได้รับการแก้ไขแล้วระบบย่อยและระบบการเก็บถาวรในภายหลัง "ฟังก์ชั่นตัวเลือกไฟล์จากโรงงาน" จุดความล้มเหลวที่กำหนดรหัสไว้อย่างแน่นหนาและการบำรุงรักษางานที่กำหนดเวลาไว้และจุดเพิ่มของความล้มเหลว นี่คือ "ความล้มเหลวแบบเรียงซ้อน" หากคุณต้องการ ปัญหาเดิมนำไปสู่รหัสที่ไม่ดีมากขึ้นการแก้ปัญหาที่ไม่ดีและค่าใช้จ่ายที่ไม่จำเป็น มีรูปแบบการต่อต้านอย่างเป็นทางการหรือคำทั่วไปที่จะอธิบายหรือไม่

3
รูปแบบการสังเกตการณ์; รู้ว่า * อะไร * เปลี่ยนไป?
ฉันได้สร้างคลาสนามธรรมสองวิชาและผู้สังเกตการณ์ที่กำหนดอินเทอร์เฟซรูปแบบการสังเกตคลาสสิก ฉันสืบทอดมาจากพวกเขาเพื่อใช้รูปแบบการสังเกตการณ์ ผู้สังเกตการณ์อาจมีลักษณะเช่นนี้: void MyClass::Update(Subject *subject) { if(subject == myService_) { DoSomething(); } else if(subject == myOtherService_) { DoSomethingElse(); } } นี่เป็นเรื่องปกติและบอกฉันว่าใครเปลี่ยนอะไร อย่างไรก็ตามมันไม่ได้บอกฉันว่ามีอะไรเปลี่ยนแปลง บางครั้งสิ่งนี้ก็โอเคเพราะฉันแค่จะสืบค้นเรื่องสำหรับข้อมูลล่าสุด แต่บางครั้งฉันก็ต้องรู้ว่าสิ่งที่เปลี่ยนแปลงไปในเรื่องนั้น ๆ ฉันสังเกตเห็นใน Java พวกเขามีทั้ง informObservers () วิธีการและalertObservers (Object ARG)วิธีการสันนิษฐานว่าจะระบุรายละเอียดเกี่ยวกับสิ่งที่เปลี่ยนแปลง ในกรณีของฉันฉันจำเป็นต้องรู้ว่าหนึ่งในสองของการกระทำที่แตกต่างกันเกิดขึ้นในเรื่องและถ้าเป็นการกระทำที่เฉพาะเจาะจงเพื่อทราบจำนวนเต็มที่เกี่ยวข้องกับการกระทำนั้น ดังนั้นคำถามของฉันคือ: วิธี C ++ ผ่านอาร์กิวเมนต์ทั่วไป (เช่น Java) ผู้สังเกตการณ์เป็นแบบแผนที่ดีที่สุดหรือไม่? บางทีระบบเหตุการณ์บางอย่าง? UPDATE ผมพบว่าบทความนี้ซึ่งพูดเกี่ยวกับรูปแบบ templating สังเกตการณ์: การนำเรื่องรูปแบบกับแม่แบบ / …

7
การทดสอบซอฟต์แวร์ทำได้อย่างไรในการสตาร์ทอัพเทคโนโลยี
ฉันได้เห็นบทความวิจัยและบล็อกเทคโนโลยีจำนวนมากที่มีประโยชน์ในการทดสอบซอฟต์แวร์ ฉันเชื่อมั่นในสิ่งนั้น แต่เนื่องจากการวิจัยการทดสอบซอฟต์แวร์ทั้งหมดดำเนินการโดย บริษัท ซอฟต์แวร์ขนาดใหญ่ฉันไม่เชื่อว่าพวกเขาจะนำไปใช้กับ บริษัท ที่เพิ่งเริ่มต้นจริงๆ เนื่องจาก startups มีความต้องการและข้อ จำกัด ต่างกันเมื่อเทียบกับ บริษัท ซอฟต์แวร์ขนาดใหญ่ ดังนั้นสิ่งนี้ทำให้เกิดคำถามขึ้น ผู้ที่เพิ่งเริ่มต้นเทคโนโลยีควรเขียนการทดสอบอัตโนมัติหรือไม่ ถ้าเป็นเช่นนั้นพวกเขาทำในลักษณะเดียวกับ บริษัท ซอฟต์แวร์ขนาดใหญ่หรือไม่? (การทดสอบควันการทดสอบการถดถอย ฯลฯ ) จะเป็นการดีที่สุดถ้าคุณสามารถอ้างอิงบทความวิจัยบางเรื่องในเรื่องนี้ .. เนื่องจากฉันไม่สามารถหาบทความด้วยตัวเองได้ (ฉันต้องยอมรับว่าแม้ว่าฉันจะยังเร็วในอาชีพของฉัน แต่ฉันยังไม่เห็นการเริ่มต้นที่มุ่งมั่นอย่างจริงจังในการเขียนการทดสอบอัตโนมัติ)
10 testing  startup 

3
DDD กับ ORM ตรรกะทางธุรกิจควรไปที่ใด
ฉันเคยใช้เครื่องมือ MDA (สถาปัตยกรรมที่ขับเคลื่อนด้วยโมเดล) ในอดีตที่เราทำโมเดลผ่าน UML และสิ่งนี้ได้สร้างเอนทิตีธุรกิจ (โมเดลโดเมนของเรา) และ ORM (การทำแผนที่ ฯลฯ ) ท่ามกลางสิ่งอื่น ๆ รหัสธุรกิจและบริการจำนวนมากที่ทำงานบนโดเมนนั้นเป็นส่วนหนึ่งของแบบจำลองและที่เก็บของเราส่งคืนเอนทิตีธุรกิจ (ดังนั้นจึงเป็นไปไม่ได้ที่จะเปลี่ยนไปใช้ ORM อื่น (ไม่ใช่ที่เราต้องการ)) อย่างไรก็ตามตอนนี้ฉันกำลังเริ่มโครงการและฉันต้องการคิดในแง่ของ DDD จนถึงตอนนี้ฉันรู้สึกราวกับว่าฉันวางตรรกะทางธุรกิจของฉันในรูปแบบโดเมนของฉันและผ่านที่เก็บฉันจะทำงานร่วมกับ ORM (ซึ่งฉันเคยเลือก) อย่างไรก็ตามถ้าฉันต้องการใช้เครื่องมือ MDA สำหรับส่วน ORM ของแอปพลิเคชันต่อไปโมเดลที่สร้างขึ้นที่นี่จะเป็นโลหิตจางมาก (เช่นไม่มีตรรกะทางธุรกิจ) ในทำนองเดียวกันถ้าฉันใช้ Entity framework (.net) หรือ NHibernate สำหรับ ORM ของฉันมันก็จะเป็นแบบจำลองโลหิตจางด้วย? ฉันไม่แน่ใจว่าคุณจะใช้ตรรกะทางธุรกิจที่ใดถ้าฉันใช้ NHibernate ฉันถูกต้องในการคิดแบบนี้ในคำอื่น ๆ ที่มี DDD ตรรกะทางธุรกิจทั้งหมดในโดเมนและเพียงแค่ใช้ ORM สำหรับการคงอยู่ผ่านทางที่เก็บ?

4
คุณควรแยก js, html และ css แยกจากกันจริงๆหรือ
ฉันได้ยิน / อ่านตลอดเวลาที่สะอาดเพื่อแยกjs , htmlและcss ของคุณออกจากกัน คาดว่าจะทำให้ง่ายต่อการบำรุงรักษาและแก้ปัญหา คาดคะเนว่ามันมีประสิทธิภาพมากขึ้นเพราะจะช่วยให้แคช / ลดรูปCSSและJSไฟล์ เท่าที่ฉันกังวลการใช้เว็บเฟรมเวิร์ก (Django, Rails, ... ), javascript templating library, ... ฉันมักจะแยกหน้า html เดียวเป็นเทมเพลตที่สามารถนำกลับมาใช้ใหม่ได้จำนวนมาก - ถ้าคุณต้องการ . ตัวอย่างเช่นฉันสามารถมีวิดเจ็ตฟีดข่าววิดเจ็ตที่เลือกได้หลายรายการฯลฯ ... แต่ละรายการมีเลย์เอาต์ที่สอดคล้องกันทั่วหน้าต่างๆและแต่ละอันถูกควบคุมโดยชิ้นส่วนของจาวาสคริปต์ กับองค์กรนี้ - ซึ่งฉันคิดว่าสะอาดที่สุดเท่าที่จะเป็นไปได้การเพิ่มความสามารถในการนำกลับมาใช้ใหม่ - ฉันมีปัญหาในการเข้าใจว่าทำไมการเก็บjsและcss ทั้งหมดในไฟล์แยกต่างหาก ฉันคิดว่ามันจะง่ายกว่ามากเช่น : ในไฟล์วิดเจ็ตหลายไฟล์ที่เลือก HTML เค้าโครง css ขั้นพื้นฐาน ควบคุมการโต้ตอบโดยตรงและการปรับปรุง UX ด้วยบิตของ JS ฉันคิดว่ามันเป็นวิธีที่สามารถนำมาใช้ซ้ำได้มากกว่ารักษาได้มากขึ้นเพราะคุณไม่ต้องเลื่อนดูไฟล์fat jsจากนั้นสลับไปที่และเลื่อนดูไฟล์cssไขมันสลับไปที่ไฟล์htmlของคุณอีกครั้ง. ดังนั้นฉันชอบที่จะรู้ว่าพวกคุณจัดระเบียบรหัสของคุณอย่างไรถ้าคุณยึดติดกับการแยกที่มักจะแนะนำ มีเหตุผลที่ดีที่จะทำเช่นนั้น? ไม่ใช่ว่าคำแนะนำบนเว็บมักจะคิดว่าคุณจะไม่ใช้เครื่องมือแฟนซีใด …

7
มีคำที่ใช้หรือไม่เมื่อมีการประกาศตัวแปรภายในสู่สาธารณะและสามารถเข้าถึงได้
หากมีคนเขียนโค้ดเพื่อให้ตัวแปร $ _fields ภายในสามารถเข้าถึงได้โดยไม่ต้องใช้วิธี getter / setter มีคำที่เหมาะสมที่ใช้อธิบายหรือไม่ บางสิ่งบางอย่างสุภาพพอที่จะใช้กับการจัดการ :)

2
Use-cases สำหรับ node.js และ c #
ฉันทำงาน ASP.NET ค่อนข้างน้อย (C #, MVC) แต่ส่วนใหญ่เป็นการพัฒนาเว็บทั่วไป ฉันใช้สถาปัตยกรรมพักผ่อนโดยใช้ที่เก็บ CRUD ลูกค้าของฉันส่วนใหญ่ไม่มีข้อกำหนดขั้นสูงมากมายในแอปพลิเคชันของพวกเขา ตอนนี้ฉันกำลังดู node.js และมันเป็นนัยเกี่ยวกับประสิทธิภาพ (ฉันติดความเร็ว) แต่ฉันไม่ได้เจาะลึกลงไปเลย ฉันสงสัยว่า node.js สามารถแทนที่การพัฒนาเว็บตามปกติของฉันใน C # และ ASP.NET MVC ได้ (ไม่ได้เขียนแอพที่มีอยู่ใหม่ แต่เมื่อทำงานกับแอปใหม่) node.js สามารถเสริมแอพ ASP.NET MVC ได้ด้วยการเพิ่มความดีแบบ async ให้กับสถาปัตยกรรมที่มีอยู่ มีกรณีการใช้งานสำหรับ / กับ C # และ node.js? แก้ไข ฉันรัก ASP.NET MVC และฉันรู้สึกตื่นเต้นเป็นอย่างมาก เพียงแค่พยายามดูว่ามีกรณีการใช้งานพิเศษที่จะสนับสนุนnode.js หรือไม่

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

4
คำถามประเภท FizzBuzz สำหรับนักพัฒนาเว็บหรือ SQL คืออะไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว หลังจากนั้นไม่นานเราก็จ้างงานอีกครั้งและฉันกำลังตรวจสอบการทดสอบสำหรับโปรแกรมเมอร์ บางคนล้าสมัยไปแล้ว อะไรคือบางส่วนของคำถาม FizzBuzz ชนิดสำหรับนักพัฒนาเว็บและ SQL? นั่นคือไม่สำคัญเกินไป แต่ก็ยังสามารถแก้ไขได้ในห้าถึงสิบนาทีด้วยปากกาและกระดาษและไม่มี Google? โดยทั่วไปแล้วฉันจะกำจัดผู้สมัครประมาณสองในสามหรือมากกว่านั้นขึ้นอยู่กับประวัติย่อและจากนั้นก็มีผู้สมัครที่ดีเพียงไม่กี่คนในการสัมภาษณ์หนึ่งชั่วโมง (ซึ่งอาจเป็นทางโทรศัพท์) ณ จุดนี้ผู้สมัครกำลังเขียนแบบทดสอบบุคลิกภาพและมีโอกาสเขียนรหัสคล้าย FizzBuzz ดังนั้นฉันไม่ได้พยายามที่จะกำจัดผู้สมัครจำนวนมาก แต่ฉันพยายามตรวจสอบการประเมินเบื้องต้นของฉันว่าผู้สมัครสามารถจ้างงานและสามารถเขียนรหัสได้
10 interview 

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

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