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

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

1
ความแตกต่างระหว่างรูปแบบโรงงานและโรงงานแบบนามธรรมคืออะไร
ในที่สุดเมื่อเริ่มพยายามอย่างจริงจังที่จะเรียนรู้รูปแบบพื้นฐานบางอย่าง (ช้ามากในอาชีพการงาน แต่นั่นเป็นเรื่องที่แตกต่างกัน) ฉันพยายามที่จะหาความแตกต่างระหว่างรูปแบบโรงงานและโรงงานนามธรรม อะไรคือความแตกต่างที่สำคัญระหว่างสองรูปแบบนี้? ฉันเข้าใจว่าวิธีการจากโรงงานสร้างวัตถุผ่านการสืบทอดและ Abstract Factory ทำผ่านการจัดวางวัตถุ แต่จากมุมมองที่ใช้งานได้จริงฉันยังคงมีปัญหาในการมองเห็นภาพว่าแต่ละคนทำงานอย่างไร

19
คุณจะซื้อฮาร์ดแวร์ด้วยเงินของคุณเองเพื่อใช้ในที่ทำงานเพื่อทำงานให้ดีขึ้นหรือไม่? [ปิด]
ที่ทำงานฉันได้รับเครื่องที่สมเหตุสมผล (ดูอัลควอดจ์ 2GHz, 4GB RAM, ไดรฟ์ 160GB 7200RPM, Win7) แต่ก็ขาดไปไม่กี่แห่ง (HDD / RAM) พนักงานไอทีก็โอเคกับฉันที่จะเปลี่ยนฮาร์ดแวร์ด้วยตัวเองดังนั้นตอนนี้ฉันจึงเล่นกีฬา SSD และ RAM 8GB เพิ่มเติม (ดังนั้นฉันจึงสามารถเรียกใช้ Visual Studios และเครื่องเสมือนหลายเครื่องได้) ฉันรู้ว่ามันเป็นการตัดสินใจทางธุรกิจของ บริษัท ที่จะเลือกเครื่องที่พวกเขาทำ แต่ในเวลาเดียวกันฮาร์ดแวร์ที่เร็วขึ้นทำให้ฉันมีความสุขและมีประสิทธิผลในการทำงานมากขึ้น ฉันเดาว่าคำถามของฉันคือฉันเป็นคนเดียว (ไม่ใช้ตัวเองสู้ :) ผู้ที่ยินดีที่จะใช้จ่ายเงินส่วนตัวบนฮาร์ดแวร์งานของพวกเขาเพื่อคุณภาพชีวิตที่ดีขึ้นและฉันควรเข้าใกล้ด้วยวิธีอื่นหรือไม่? เป็นไปได้ไหมที่จะพูดย้อนหลัง "ฉันคิดว่าคุณควรจ่ายคืนให้ฉันสำหรับฮาร์ดแวร์มูลค่า $ 500 เพราะ [blah]"

13
การจัดการมาตรฐานการเข้ารหัสในที่ทำงาน (ไม่ใช่เจ้านาย)
ฉันทำงานกับทีมเล็ก ๆ ประมาณ 10 คน เราไม่มีมาตรฐานการเข้ารหัสเลย มีบางสิ่งที่ได้กลายเป็นบรรทัดฐาน แต่วิธีการบางอย่างในการทำสิ่งที่แตกต่างกันอย่างสมบูรณ์ อันยิ่งใหญ่ของฉันคือการเยื้อง บางคนใช้แท็บบางคนใช้พื้นที่บางคนใช้จำนวนช่องว่างที่แตกต่างกันซึ่งสร้างปัญหาใหญ่ ฉันมักจะจบลงด้วยความขัดแย้งเมื่อฉันรวมเพราะมีคนใช้ IDE ของพวกเขาในการจัดรูปแบบอัตโนมัติและพวกเขาใช้อักขระที่แตกต่างเพื่อเยื้องกว่าที่ฉันทำ ฉันไม่สนใจที่เราใช้ฉันแค่ต้องการให้พวกเราทุกคนใช้อันเดียวกัน มิฉะนั้นฉันจะเปิดไฟล์และบางบรรทัดมีวงเล็บปีกกาในบรรทัดเดียวกันกับเงื่อนไขในขณะที่คนอื่นมีพวกเขาในบรรทัดถัดไป อีกครั้งฉันไม่รังเกียจที่หนึ่งตราบใดที่พวกเขาเหมือนกันทั้งหมด ฉันนำเรื่องมาตรฐานมาสู่ผู้จัดการโดยตรงของฉันหนึ่งต่อหนึ่งและในการประชุมกลุ่มและเขาไม่ได้กังวลมากเกินไปเกี่ยวกับเรื่องนี้ (มีอีกหลายคนที่มีมุมมองแบบเดียวกับตัวเอง) ฉันแสดงความกังวลเฉพาะเกี่ยวกับตัวละครที่เยื้องและเขาคิดว่าทางออกที่ดีกว่าคือ "สร้างสคริปต์บางประเภทที่สามารถแปลงทุกอย่างเมื่อเราผลัก / ดึงจาก repo" ฉันสงสัยว่าเขาไม่ต้องการเปลี่ยนแปลงและวิธีการแก้ปัญหานี้ดูซับซ้อนเกินไปและมีแนวโน้มที่จะเกิดปัญหาการบำรุงรักษาตามถนน (เช่นนี้จะจัดการปัญหาเพียงปัญหาเดียวที่ใหญ่กว่า) คุณเคยเจอเหตุการณ์ที่คล้ายกันบ้างไหมในที่ทำงาน? ถ้าเป็นเช่นนั้นคุณจัดการกับมันอย่างไร? อะไรคือจุดที่ดีที่จะช่วยขายเจ้านายของฉันให้ได้มาตรฐาน? การเริ่มต้นการเคลื่อนไหวของรากหญ้าเพื่อสร้างมาตรฐานการเข้ารหัสในหมู่พวกเราที่สนใจเป็นความคิดที่ดีหรือไม่? ฉันเป็นคนพิเศษเกินไปฉันควรปล่อยมันไปไหม? ขอบคุณทุกท่านที่สละเวลา หมายเหตุ:ขอบคุณทุกคนสำหรับคำติชมที่ยอดเยี่ยม! เพื่อความชัดเจนฉันไม่ต้องการกำหนดรูปแบบหนึ่งเพื่อปกครองพวกเขาทั้งหมด ฉันยินดีที่จะยอมรับวิธีที่ฉันชอบในการทำสิ่งที่เหมาะสมกับทุกคนที่สุด ฉันต้องการความมั่นคงและฉันต้องการให้มันเป็นประชาธิปไตย ฉันต้องการให้เป็นการตัดสินใจแบบกลุ่มที่ทุกคนเห็นด้วย จริงไม่ใช่ทุกคนจะได้รับทาง แต่ฉันหวังว่าทุกคนจะโตพอที่จะประนีประนอมเพื่อกลุ่มที่ดีขึ้น หมายเหตุ 2:บางคนติดตามสองตัวอย่างที่ฉันให้ไว้ข้างต้น ฉันเป็นมากกว่าหัวใจของเรื่องนี้ มันแสดงให้เห็นตัวเองด้วยตัวอย่างมากมาย: การตั้งชื่อการประชุมฟังก์ชั่นขนาดใหญ่ที่ควรจะแตกสลายบางสิ่งบางอย่างไปใน util หรือบริการบางสิ่งบางอย่างควรจะคงที่หรือฉีดถ้าเราทุกคนใช้รุ่นที่แตกต่างกันของการพึ่งพา อินเทอร์เฟซใช้สำหรับกรณีนี้ควรตั้งค่าการทดสอบหน่วยอย่างไรควรทดสอบหน่วยใด (เฉพาะ Java) เราควรใช้คำอธิบายประกอบหรือการกำหนดค่าภายนอก ฉันสามารถไปต่อ

11
มันเป็นนิสัยที่ไม่ดีที่ไม่ได้ใช้อินเตอร์เฟสหรือไม่? [ปิด]
ฉันใช้ส่วนต่อประสานที่ไม่ค่อยพบและพบได้ทั่วไปในรหัสอื่น นอกจากนี้ฉันสร้างคลาสย่อยและคลาสพิเศษ (ในขณะที่สร้างคลาสของตัวเอง) ไม่ค่อยมีในรหัสของฉัน มันเป็นสิ่งที่ไม่ดี? คุณแนะนำให้เปลี่ยนสไตล์นี้ไหม สไตล์นี้มีผลข้างเคียงหรือไม่? เป็นเพราะฉันไม่ได้ทำงานในโครงการขนาดใหญ่หรือไม่?

6
ทำไมหลีกเลี่ยงการสืบทอด Java "ขยาย"
Jame Gosling กล่าว “ คุณควรหลีกเลี่ยงการสืบทอดการปฏิบัติเมื่อทำได้” และใช้การสืบทอดส่วนต่อประสานแทน แต่ทำไม เราจะหลีกเลี่ยงการสืบทอดโครงสร้างของวัตถุโดยใช้คำสำคัญ "ขยาย" และในเวลาเดียวกันทำให้รหัสของเราเป็นวัตถุเชิง? ใครช่วยกรุณายกตัวอย่าง Object Oriented ที่แสดงแนวคิดนี้ในสถานการณ์เช่น "สั่งซื้อหนังสือในร้านหนังสือ"

2
จะเป็นโปรแกรมเมอร์ไดรเวอร์ Kernel / Systems / Device อย่างไร [ปิด]
ปัจจุบันฉันทำงานอย่างมืออาชีพในฐานะวิศวกรซอฟต์แวร์ที่ทำงานกับ Android OS เราทำงานที่รวมแพลตฟอร์มของเราเป็นดีมอนพื้นเมืองในแง่มุมอื่น ๆ ของโครงการ ฉันทำงานเป็นหลักใน Java การพัฒนาแอปพลิเคชัน SDK และ Android แต่รับความช่วยเหลือเกี่ยวกับแพลตฟอร์มใน C / C ++ อะไรก็ตามฉันมีความสนใจที่ดีในการทำงานอย่างมืออาชีพในการพัฒนาระดับต่ำสำหรับลินุกซ์ ฉันไม่พอใจในตำแหน่งปัจจุบันของฉันและจะไปเที่ยวตราบใดที่ บริษัท ให้ฉัน (อันที่จริงฉันค่อนข้างสนุกกับการทำงานที่นั่น!) แต่ฉันอยากทำงานในทิศทางนั้น ฉันทำงานผ่านการพัฒนาเคอร์เนล Linux (Robert Love) และ The Linux Programming Interface (Michael Kerrisk) (นอกเหนือจากการเสริมสร้างทักษะ C ของฉันในทุกโอกาสที่ฉันได้รับ) และการท่องเว็บสัตว์ประหลาดและเว็บไซต์ที่คล้ายคลึงกันโดยไม่ตั้งใจ ปัญหาที่ฉันเห็นคือไม่มีตำแหน่งระดับรายการ หนึ่งจะบุกเข้าไปในสนามนี้ได้อย่างไร เมื่อใดก็ตามที่ฉันเห็น "Linux Systems Programmer" หรือ "Linux Device Driver Programmer" พวกเขาจำเป็นต้องมีประสบการณ์ที่เกี่ยวข้องอย่างน้อย …
40 c  linux  linux-kernel 

16
คุณมีข้อเสนอแนะอะไรถ้า บริษัท ไม่ยอมรับการมีส่วนร่วมของฉันต่อโครงการขนาดใหญ่ [ปิด]
ฉันเป็นนักพัฒนาระดับเริ่มต้นที่มีประสบการณ์ 1 ปี ฉันได้ทำงานในโครงการขนาดใหญ่ซึ่งฉันได้เล่นประมาณ 80% ของงานในโครงการ 5 เดือนนั้นแย่มากสำหรับฉัน - ดึกใช้เวลาทำงานแม้แต่วันอาทิตย์ ฉันได้ทำงานกับแบบจำลองกระบวนการทั้งหมดการทำงานของเพื่อนร่วมงานของฉันบางส่วนการออกแบบ DB คำติชมของลูกค้าทั้งหมดนี้ แต่ประเด็นก็คืองานของฉันเป็นของหัวหน้าทีมของฉันและหวังว่าตอนนี้ตระหนักว่าทำไมฉันถึง 80% ทำงาน ฉัน! ขณะนี้โครงการเสร็จสมบูรณ์และลูกค้าดูเหมือนพอใจกับงานอย่างสมบูรณ์ แต่ฉันไม่ได้พบ บริษัท ที่ให้การสนับสนุน / ขอบคุณใด ๆ ผู้อาวุโสของฉันที่ไม่ได้มีส่วนร่วมในโครงการได้รับการยกย่องลาโบนัส ฯลฯ นอกจากนี้ฉันยังถูกปฏิเสธไม่อนุญาตให้เข้าร่วมงานครอบครัวที่สำคัญซึ่งทำให้ฉันถามว่า "ฉันมีเครดิตอะไรในตอนนี้"? ฉันสงสัยว่าการซื่อสัตย์ / ทุ่มเทให้กับงานทำให้เกิดสถานการณ์เช่นนี้หรือไม่? ขณะนี้ฉันได้รับข้อเสนอที่ดีพร้อม 3 แพ็คเกจมาแล้ว - ฉันคิดจะย้ายไปยัง บริษัท ใด ๆ ในตอนนี้ คุณมีข้อเสนอแนะ ณ เวลาใด?
40 management 

7
มันเป็นการปฏิบัติที่ไม่ถูกต้องหรือไม่ที่จะมีส่วนต่อประสานเพื่อกำหนดค่าคงที่หรือไม่?
ฉันกำลังเขียนคลาสชุดทดสอบ Junit ใน Java มีค่าคงที่หลายค่าเช่นสตริงที่ฉันต้องการในคลาสทดสอบที่แตกต่างกัน ฉันกำลังคิดเกี่ยวกับอินเทอร์เฟซที่กำหนดพวกเขาและทุกชั้นทดสอบจะใช้มัน ประโยชน์ที่ฉันเห็นมี: เข้าถึงค่าคงที่ได้ง่าย: MY_CONSTANTแทนThatClass.MY_CONSTANT แต่ละค่าคงที่กำหนดเพียงครั้งเดียว วิธีนี้ค่อนข้างดีหรือไม่ดี? ฉันรู้สึกว่าใช้แนวคิดของอินเตอร์เฟสแบบไม่เหมาะสม คุณสามารถตอบโดยทั่วไปเกี่ยวกับอินเทอร์เฟซ / ค่าคงที่ แต่ยังเกี่ยวกับการทดสอบหน่วยหากมีบางสิ่งที่พิเศษเกี่ยวกับมัน

8
การใช้โฟลเดอร์“ เอกสาร” ของ Windows ในโปรแกรมอย่างถูกกฎหมาย
ทุกคนที่ชอบโฟลเดอร์เอกสารของพวกเขาที่จะมีเฉพาะสิ่งที่พวกเขาอยู่ที่นั่นรู้ว่าโฟลเดอร์เอกสารมาตรฐานไม่เหมาะสมอย่างสมบูรณ์สำหรับงานนี้ ทุกโปรแกรมที่ดูเหมือนว่าจะต้องการที่จะนำมันตั้งค่าข้อมูลหรือสิ่งที่ไม่เกี่ยวข้องอย่างเท่าเทียมกันเข้าไปในเอกสารโฟลเดอร์แม้จะมีความจริงที่ว่ามีโฟลเดอร์เฉพาะสำหรับงานนี้1 เพื่อที่จะได้เสียงที่ไม่ว่างเปล่าให้นำโฟลเดอร์ "Documents" ส่วนตัวของฉันไปเป็นตัวอย่าง ฉันไม่เคยใช้มันในกรณีที่ฉันไม่เคยบันทึกสิ่งใด ๆ ลงในโฟลเดอร์นี้ด้วยตัวเอง และยังมี 46 โฟลเดอร์และ 3 ไฟล์ที่ระดับบนสุดรวม 800 ไฟล์ใน 500 โฟลเดอร์ นั่นคือ "เอกสาร" 190 MB ที่ฉันไม่ได้สร้าง เห็นได้ชัดว่าเอกสารจริงใด ๆ จะหายไปทันทีในระเบียบ คำถามของฉันคือ : สามารถทำอะไรเพื่อปรับปรุงสถานการณ์ให้เพียงพอเพื่อให้ "เอกสาร" มีประโยชน์อีกครั้งพูดในอีก 5 ปีข้างหน้า? ผู้เขียนโปรแกรมสามารถได้รับการศึกษาบ้างหรือไม่ที่จะไม่ใช้มันเป็นพื้นทิ้ง? ระบบปฏิบัติการสามารถเริ่มรายงานตำแหน่ง "ปลอม" บางอย่างที่ซ่อนอยู่ภายใต้ AppData ผ่าน API ที่มีอยู่ในขณะที่อนุญาตเฉพาะ Explorer และกล่องโต้ตอบเปิด / บันทึกต่างๆเพื่อทราบว่าโฟลเดอร์เอกสาร "ของจริง" อยู่ที่ไหน หรือความพยายามใด ๆ ที่ไร้ประโยชน์อย่างสมบูรณ์หรือไม่จำเป็น? 1สำหรับระเบียนต่อไปนี้เป็นบทสรุปโดยย่อของไดเรกทอรีมาตรฐานต่างๆที่ควรใช้แทน …

16
ทำไมการโพสต์งานมักมองหา“ rockstars?” [ปิด]
ฉันได้สังเกตเห็นแนวโน้มล่าสุดในการเขียนโปรแกรมที่มีการร้องขอRockstars ฉันเข้าใจแล้วพวกเขากำลังมองหาคนที่เก่งในสิ่งที่พวกเขาทำ แต่ทำไม (อธิษฐาน) ถึงอ้างอิงกับ rockstar? บริษัท เหล่านี้ต้องการคุณลักษณะเหล่านี้เป็น Rockstar จริงหรือไม่ ปาร์ตี้ตลอดทั้งคืนและตื่นขึ้นมาเพื่อดูแลธุรกิจที่รวดเร็วในตอนเช้า ? การใช้สารเสพติด หลงตัวเองกับคนดัง ค่าตอบแทนสูงกว่าการจัดการของพวกเขา ยอดเยี่ยมในการแสดงสั้น ๆ ความบันเทิงแทนค่า 1 สิ่งมหัศจรรย์ (โครงการ) มหัศจรรย์หรือนักแสดงประเภทเดียว เป็นต้น เกิดอะไรขึ้นกับวิศวกรซอฟต์แวร์อาวุโสหรืออาจารย์ใหญ่ที่มีความมุ่งมั่นและเป็นที่ยอมรับสำหรับธุรกิจ แต่เราหมายถึงสิ่งที่ตรงกันข้ามคนที่: ม้วนแขนเสื้อขึ้นและไปทำงาน ใช้ทิศทางที่เหมาะสมและช่วยให้ทีมมีอิทธิพล โปรแกรมในการเรียนรู้และการปฏิบัติที่เหมาะสมของบทเรียน ให้การสื่อสารกับทีมงานได้ทันเวลา สามารถรหัสและเข้าใจหลายภาษา เข้าใจวิทยาศาสตร์และทฤษฎีที่อยู่เบื้องหลังการคำนวณ มีแนวโน้มที่จะกระจายอันดับวิศวกรรมซอฟต์แวร์หรือไม่ คุณสามารถจ้างร็อคสตาร์ซอฟต์แวร์ได้กี่คนก่อนที่วงดนตรีของคุณจะเริ่มสลายตัว? แน่นอนว่ามีคนมากมายที่ทำสิ่งนี้ด้วยตัวเองบางทีอาจเป็นเพียงไม่กี่คนที่หารหัสเพื่อแสดง แต่ฉันเดิมพันส่วนใหญ่สำหรับธุรกิจ ฉันไม่เห็นโฆษณาสำหรับนักบัญชี rockstar หรือ rockstar machinists หรือ rockstart CFO อะไรทำให้โปรแกรมเมอร์ซอฟต์แวร์และแผนกจ้างงานของพวกเขาโน้มตัวไปทางตำแหน่งงานประเภทนี้?

6
DDD Aggregates เป็นความคิดที่ดีจริงๆใน Web Application หรือไม่?
ฉันกำลังดำน้ำในการออกแบบการขับเคลื่อนด้วยโดเมนและแนวคิดบางอย่างที่ฉันกำลังเผชิญทำให้รู้สึกมากบนพื้นผิว แต่เมื่อฉันคิดเกี่ยวกับพวกเขามากขึ้นฉันต้องสงสัยว่ามันเป็นความคิดที่ดีจริงๆ ยกตัวอย่างเช่นแนวคิดของ Aggregates คุณสร้างโดเมนเล็ก ๆ ของการเป็นเจ้าของเพื่อให้คุณไม่ต้องจัดการกับรูปแบบโดเมนทั้งหมด อย่างไรก็ตามเมื่อฉันคิดถึงสิ่งนี้ในบริบทของเว็บแอปเรามักจะกดปุ่มฐานข้อมูลเพื่อดึงข้อมูลย่อย ๆ ตัวอย่างเช่นหน้าเว็บอาจแสดงรายการจำนวนการสั่งซื้อเท่านั้นโดยมีลิงก์ให้คลิกเพื่อเปิดคำสั่งซื้อและดูรหัสคำสั่งซื้อ ถ้าผมทำความเข้าใจขันธ์ขวาฉันมักจะใช้รูปแบบการเก็บข้อมูลที่จะกลับ OrderAggregate ว่าจะมีสมาชิกGetAll, GetByID, และDelete Saveตกลงนั่นฟังดูดี แต่... ถ้าฉันโทร GetAll เพื่อแสดงรายการคำสั่งซื้อทั้งหมดของฉันดูเหมือนว่ารูปแบบนี้จะต้องมีการส่งคืนรายการข้อมูลรวมทั้งหมดคำสั่งซื้อที่สมบูรณ์คำสั่งซื้อบรรทัด ฯลฯ ... เมื่อฉันต้องการชุดย่อยของข้อมูลนั้นเพียงเล็กน้อย (เพียงแค่ข้อมูลส่วนหัว) ฉันพลาดอะไรไปรึเปล่า? หรือมีการเพิ่มประสิทธิภาพในระดับหนึ่งที่คุณจะใช้ที่นี่ ฉันไม่สามารถจินตนาการได้ว่าใครก็ตามจะสนับสนุนให้ส่งคืนข้อมูลทั้งหมดเมื่อคุณไม่ต้องการ แน่นอนหนึ่งสามารถสร้างวิธีการในพื้นที่เก็บข้อมูลของคุณชอบGetOrderHeadersแต่ที่ดูเหมือนจะเอาชนะวัตถุประสงค์ของการใช้รูปแบบเช่นพื้นที่เก็บข้อมูลในสถานที่แรก ใครช่วยอธิบายเรื่องนี้ให้ฉันได้บ้าง แก้ไข: หลังจากการวิจัยมากขึ้นฉันคิดว่าการปลดการเชื่อมต่อที่นี่คือรูปแบบพื้นที่เก็บข้อมูลบริสุทธิ์แตกต่างจากสิ่งที่คนส่วนใหญ่คิดว่าเป็นพื้นที่เก็บข้อมูล ฟาวเลอร์กำหนดที่เก็บเป็นที่เก็บข้อมูลที่ใช้ความหมายของการรวบรวมและโดยทั่วไปจะถูกเก็บไว้ในหน่วยความจำ นี่หมายถึงการสร้างกราฟวัตถุทั้งหมด อีแวนส์เปลี่ยนแปลงที่เก็บเพื่อรวม Agotsate Roots และทำให้ที่เก็บถูกตัดเพื่อสนับสนุนวัตถุใน Aggregate เท่านั้น คนส่วนใหญ่มักนึกถึงที่เก็บข้อมูลว่าเป็น Data Data Objects ที่ซึ่งคุณเพิ่งสร้างวิธีการรับข้อมูลที่คุณต้องการ ดูเหมือนจะไม่ได้มีเจตนาตามที่อธิบายไว้ในรูปแบบของสถาปัตยกรรมแอปพลิเคชัน Enterprise ของ Fowler ยังมีคนอื่นคิดว่าที่เก็บเป็นนามธรรมที่เรียบง่ายใช้เป็นหลักในการทดสอบและการเยาะเย้ยง่ายขึ้นหรือเพื่อแยกความคงทนจากส่วนที่เหลือของระบบ ฉันเดาคำตอบว่านี่เป็นแนวคิดที่ซับซ้อนกว่าที่ฉันคิดไว้ก่อน

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

4
มีข้อโต้แย้งอะไรในความโปรดปรานของการพิมพ์ที่อ่อนแอ?
สิ่งนี้เกิดขึ้นในการพูดคุยกับเพื่อนและฉันพบว่าตัวเองถูกกดขี่เพื่อคิดข้อโต้แย้งที่ดี การพิมพ์ที่ได้รับประโยชน์มีประโยชน์อะไรบ้าง

19
เป็นเรื่องปกติหรือไม่ที่โปรแกรมเมอร์จะทำงานในหลายโครงการพร้อมกัน [ปิด]
ในงานปัจจุบันฉันมีสองโครงการที่จะทำงาน ครั้งแรกคือระบบที่ใหญ่มากและอันที่สองมีขนาดเล็กกว่า แต่ก็ยังใหญ่ (โครงการแรกกำลังได้รับการพัฒนาเป็นเวลา 12 ปีที่สองเป็นเวลา 4 ปี) ตอนแรกฉันทำงานในโปรเจคแรกเท่านั้นและพยายามทำความคุ้นเคยกับมัน จากนั้นฉันถูกย้ายไปที่โครงการที่สองและลองที่นั่นดังนั้นความรู้ของฉันเกี่ยวกับโครงการแรกจึงร่มรื่น ตอนนี้ฉันต้องทำงานทั้งสองโครงการในเวลาเดียวกัน มันยากมากสำหรับฉันเพราะทั้งคู่ใช้จาวา แต่พวกเขาใช้กรอบงานที่แตกต่างกันและจำนวนของรหัสและตรรกะทางธุรกิจที่จะเข้าใจมีขนาดใหญ่มากดังนั้นฉันจึงไม่สามารถถือโครงการทั้งสองไว้ในหัวของฉันได้ มันเป็นเรื่องปกติและฉันควรทำความคุ้นเคยกับมันแม้ว่าความเชี่ยวชาญของฉันจะแย่มาก ๆ จะเกิดอะไรขึ้นถ้าฉันจะทำงานในโครงการเดียวเท่านั้น? หรือฉันควรแจ้งข้อกังวลหรือเปลี่ยนนายจ้าง?

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

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