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

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

6
ยอดคงเหลือระหว่างภาระงานและการช่วยเหลือการจ้างงานใหม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันอยู่ที่งานแรกของฉันประมาณ 2 เดือนและฉันเริ่มสังเกตเห็นว่ามีความสมดุลระหว่างภาระงานและการช่วยเหลือการจ้างงานใหม่ที่ละเอียดอ่อน เนื่องจากมีแรงกดดันมากมายจากฝ่ายบริหารในการแก้ไขข้อบกพร่องและแก้ไขปัญหาของลูกค้าให้มากที่สุดเท่าที่จะเป็นไปได้ทุกคนในทีมดูเหมือนจะให้ความสำคัญกับงานในมือของพวกเขาแทนการช่วยให้พนักงานใหม่ได้เร็วขึ้น พนักงานใหม่สามารถถามคำถามและบางครั้งเราจะให้นักพัฒนานั่งลงและช่วยเรา แต่บ่อยครั้งเราจะได้รับคำตอบที่คลุมเครือว่ามีเพียงทหารผ่านศึกของผลิตภัณฑ์เท่านั้นที่จะเข้าใจเพราะพวกเขายุ่งเกินไปกับงานของพวกเขา ฉันเข้าใจว่าการจ้างใหม่จะต้องรักษาความสมดุล บางครั้งอาจต้องใช้เวลาจ้างใหม่ 3 วันเพื่อตรวจสอบและแก้ไขสิ่งที่ทหารผ่านศึกสามารถทำได้ภายใน 20 นาที พนักงานใหม่ต้องแสดงความพยายามในการเรียนรู้ผลิตภัณฑ์และ codebase ด้วยการลดภาระงานของทหารผ่านศึกเพียงอย่างเดียวคุณจะสร้างความสมดุลระหว่างการช่วยเหลือการจ้างงานใหม่และการทำงานอย่างต่อเนื่องในอัตราที่เหมาะสมได้อย่างไร

2
ทำไม Big O จึงสอนแทน Big Theta
สัญลักษณ์ Big O จัดเตรียมขอบเขตบนของฟังก์ชันในขณะที่ Big Theta ให้ขอบเขตที่ จำกัด อย่างไรก็ตามฉันพบว่าสัญกรณ์ Big O โดยทั่วไปแล้ว (และเป็นทางการ) สอนและใช้เมื่อพวกเขาหมายถึง Big Theta จริงๆ เช่น "Quicksort คือ O (N ^ 2)" สามารถเปลี่ยนเป็นคำพูดที่แข็งแกร่งมากขึ้น "Quicksort คือΘ (N ^ 2)" ในขณะที่การใช้ Big O นั้นถูกต้องทางเทคนิคการใช้ Big Theta ที่แพร่หลายจะไม่แสดงออกและนำไปสู่ความสับสนน้อยลงหรือไม่ มีเหตุผลทางประวัติศาสตร์บ้างไหมว่าทำไม Big O นี้จึงถูกใช้มากกว่าปกติ? หมายเหตุWikipedia : อย่างไม่เป็นทางการโดยเฉพาะอย่างยิ่งในวิทยาการคอมพิวเตอร์สัญกรณ์บิ๊กโอมักได้รับอนุญาตให้ถูกทารุณกรรมบ้างเพื่ออธิบายขอบเขตที่ไม่มีซีมโทติคที่ใช้สัญกรณ์บิ๊กซีอาจจะเหมาะสมกว่าในบริบทที่กำหนด

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

4
รับ C ++ '11 ได้รับการอนุมัติการเปลี่ยนแปลงนี้จะเป็นวิธีเริ่มต้น C ++ เรียนรู้ภาษาหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันต้องการเรียนรู้ C ++ สำหรับชั่วขณะหนึ่งและใช้การเขียนโปรแกรมคอมพิวเตอร์ AP ในโรงเรียนมัธยม (กลับตอนที่เป็น C ++ ไม่ใช่ Java) ฉันสนุกกับ C และไม่ได้มีเวลาเรียนรู้ C ++ หรือฉันจะถอยกลับใน C # ที่ฉันมีประสิทธิผลมากขึ้น คำถามของฉันคือ: เนื่องจาก C ++ '11 ได้รับการอนุมัติ (แม้ว่าฉันรู้ว่ายังไม่ได้ใช้งานอย่างสมบูรณ์) สิ่งนี้เปลี่ยนวิธีที่ฉันควรเข้าใกล้การเรียนรู้ C ++ หรือไม่ ฉันเป็นเจ้าของC ++: การอ้างอิงที่สมบูรณ์โดย Herb Schildtซึ่งมาจากปี 1998 มาตรฐานที่เพิ่งได้รับการอนุมัติทำให้การเรียนรู้จากหนังสือดังกล่าวมีความสำคัญน้อยกว่าบทเรียน / …
21 learning  c++ 

11
มีเหตุผลสำหรับความมั่นใจครั้งแรกของนักวิทยาศาสตร์และวิศวกรที่ทำงานด้านปัญญาประดิษฐ์ในปี 1960 หรือไม่?
ฉันเพิ่งเริ่มเรียน AI & Data Mining และหนังสือ การเขียนโปรแกรมประยุกต์ AIเริ่มต้นด้วยภาพรวมของประวัติของ AI บทแรกเกี่ยวข้องกับประวัติความเป็นมาของ AI ตั้งแต่ปี 1940 ถึงปัจจุบัน มีคำสั่งหนึ่งโผล่ออกมาที่ฉัน: [ในยุค 60] วิศวกร AI overpromised และส่งไม่ครบ ... อะไรคือเหตุผลของความมั่นใจ มันเป็นเพราะแบบจำลองการทำนายทางคณิตศาสตร์แสดงให้เห็นว่ามีความก้าวหน้าอยู่รอบมุมหรือเนื่องจากความสามารถของฮาร์ดแวร์ที่เพิ่มขึ้นเรื่อย ๆ เพื่อใช้ประโยชน์จาก?

5
มีตัวอย่างที่น่าสังเกตของหายนะทางธุรกิจที่เข้ากับซอฟต์แวร์โอเพ่นซอร์สโดยตรงหรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ในสภาพแวดล้อม "องค์กร" ฉันสังเกตเห็นอคติที่แข็งแกร่งต่อซอฟต์แวร์ที่เป็นกรรมสิทธิ์ แม้ในธุรกิจขนาดใหญ่ที่ใช้ Java มันเป็นเรื่องผิดปกติในการค้นหา MySQL หรือ PostgreSQL และ WebSphere และ WebLogic เป็นที่ต้องการอย่างมากผ่าน JBoss หรือ Tomcat นี่เป็นสิ่งที่เข้าใจได้มาก ในขณะที่นักพัฒนาหลายคนชอบ Tomcat หรือ Postgres กับ WebSphere หรือ Oracle DB พวกเขาไม่ใช่ผู้ตัดสินใจขั้นสุดท้ายในเรื่องเหล่านี้ ใครก็ตามที่ตัดสินใจว่าจะใช้ DB และเซิร์ฟเวอร์แอปพลิเคชั่นใดในการผลิตจะพบว่าค่าธรรมเนียมใบอนุญาตนั้นค่อนข้างเล็กเมื่อเทียบกับการถูกไล่ออกจากการเลือกซอฟต์แวร์ฟรีที่ทำให้เกิดอะไรขึ้นจริงๆ ฉันไม่ถามคำถามว่า Postgres นั้นดีเท่ากับ Oracle หรือไม่ นั่นไม่ใช่ประเด็น. Oracle ไม่ได้ถูกเลือกเหนือ Postgres หลังจากพิจารณาคุณสมบัติและมาตรฐานอย่างรอบคอบ Postgres …

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

6
วิธีส่งเสริมการยอมรับการควบคุมเวอร์ชัน
ฉันเพิ่งเริ่มทำงานในทีมที่ไม่มีการควบคุมเวอร์ชัน สมาชิกในทีมส่วนใหญ่ไม่คุ้นเคยกับการควบคุมเวอร์ชันใด ๆ ฉันใช้ Mercurial เป็นการส่วนตัวเพื่อติดตามงานของฉัน ฉันต้องการสนับสนุนให้ผู้อื่นนำมาใช้และอย่างน้อยที่สุดก็เริ่มต้นสร้างรหัสของพวกเขาเมื่อพวกเขาพัฒนาการเปลี่ยนแปลง ทุกคนสามารถให้คำแนะนำเกี่ยวกับวิธีที่ฉันสามารถกระตุ้นให้เกิดการยอมรับการควบคุมเวอร์ชันแบบกระจายเช่น Mercurial คำแนะนำใด ๆ เกี่ยวกับวิธีการเอาชนะผู้คนรวมถึงผู้จัดการของ DVCS จะได้รับการชื่นชมมาก

7
เหตุใด XML จึงไม่เรียกว่า EML
จากวิกิพีเดีย Extensible Markup Language (XML) เป็นชุดของกฎสำหรับการเข้ารหัสเอกสารในรูปแบบที่เครื่องอ่านได้ มันถูกกำหนดใน XML 1.0 Specification [4] ผลิตโดย W3C และข้อกำหนดที่เกี่ยวข้องอื่น ๆ อีกมากมายมาตรฐานเปิดฟรีทั้งหมด [5] อะไรคือเหตุผลทางประวัติศาสตร์ในการเรียก XML ชวเลขและค่อนข้างเป็น EML ที่เป็นธรรมชาติมากกว่าเดิม?
21 naming  xml  etymology 

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

4
เวิร์กโฟลว์ทีม Github - เพื่อแยกหรือไม่
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา เราเป็นทีมเล็ก ๆ ของนักพัฒนาเว็บที่ใช้การโค่นล้ม แต่ในไม่ช้าเรากำลังเปลี่ยนไปใช้ GitHub ฉันกำลังดูเวิร์กโฟลว์ Github ประเภทต่างๆและเราไม่แน่ใจว่าแนวคิดการฟอร์กทั้งหมดใน GitHub สำหรับนักพัฒนาแต่ละคนนั้นเป็นความคิดที่ดีสำหรับเราหรือไม่ หากเราใช้ส้อมฉันเข้าใจว่านักพัฒนาแต่ละคนจะมีที่เก็บข้อมูลระยะไกลและพื้นที่ส่วนตัวของเขาเอง ฉันกังวลว่ามันจะทำการผลักดันการเปลี่ยนแปลงอย่างหนักและซับซ้อนเกินไป นอกจากนี้ความกังวลที่ใหญ่ที่สุดของฉันคือมันจะบังคับให้นักพัฒนาแต่ละคนมี 2 รีโมท: กำเนิด (ซึ่งเป็นทางแยกระยะไกล) และอัปสตรีม (ซึ่งใช้ในการ "ซิงค์" การเปลี่ยนแปลงจากพื้นที่เก็บข้อมูลหลัก) ไม่แน่ใจว่ามันเป็นวิธีง่าย ๆ ในการทำสิ่งต่าง ๆ หรือไม่ สิ่งนี้คล้ายกับเวิร์กโฟลว์ที่อธิบายไว้ที่นี่: https://github.com/usm-data-analysis/usm-data-analysis.github.com/wiki/Git-workflow ถ้าเราไม่ใช้ส้อมเราอาจจะทำได้ดีโดยใช้ repo ส่วนกลางที่สร้างสาขาสำหรับแต่ละงานที่เรากำลังทำอยู่และรวมมันเข้าไปในสาขาการพัฒนาบนพื้นที่เก็บข้อมูลเดียวกัน หมายความว่าเราจะไม่สามารถ จำกัด การรวมสาขาและอาจยุ่งเล็กน้อยที่จะมีสาขาจำนวนมากในพื้นที่เก็บข้อมูลส่วนกลาง มีคำแนะนำใดบ้างจากทีมที่ลองใช้ทั้งสองขั้นตอน?
21 git  github 

3
แมโครของ LISP นั้นดีกว่า“ ความสามารถ” ของรูบี้ในการสร้าง DSL
หนึ่งในสิ่งที่ทำให้ Ruby shine คือความสามารถในการสร้าง Domain Specific Languages ​​ที่ดีขึ้นเช่น ซินาตร้า rspec คราด Ruby on Rails 'ActiveRecord แม้ว่าเราสามารถทำซ้ำไลบรารี่เหล่านี้ใน LISP ผ่านมาโครได้ แต่ฉันคิดว่าการติดตั้งของรูบี้นั้นสง่างามกว่า อย่างไรก็ตามฉันคิดว่ามีบางกรณีที่แมโครของ LISP นั้นสามารถทำได้ดีกว่ารูบี้แม้ว่าฉันจะไม่สามารถคิดได้ ดังนั้นมาโครของ LISP ในพื้นที่ใดที่ดีกว่า "ความสามารถ" ของรูบี้ในการสร้าง DSL ถ้ามี? ปรับปรุง ฉันถามสิ่งนี้เพราะภาษาการเขียนโปรแกรมที่ทันสมัยกำลังเข้าใกล้ LISP เอกพจน์เช่น C มีตัวประมวลผลก่อนการขยายตัวของแมโครแม้ว่าจะเป็นแบบดั้งเดิมและมีแนวโน้มที่จะเกิดข้อผิดพลาด C # มีคุณสมบัติแม้ว่าจะเป็นแบบอ่านอย่างเดียวซึ่งเปิดเผยผ่านการสะท้อนกลับ Python ได้เพิ่มมัณฑนากรที่สามารถปรับเปลี่ยนพฤติกรรมของฟังก์ชั่น (และคลาสสำหรับ v 3.0) แต่รู้สึกค่อนข้าง จำกัด Ruby TMTOWTDI ที่ทำให้ DSL สง่างามหากใช้งานอย่างระมัดระวัง …
21 ruby  lisp  dsl 

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

10
คุณจะอัพเดตเว็บไซต์สดด้วยการเปลี่ยนรหัสได้อย่างไร
ฉันรู้ว่านี่เป็นคำถามพื้นฐานมาก หากมีใครสามารถตลกฉันและบอกฉันว่าพวกเขาจะจัดการกับเรื่องนี้ฉันจะยิ่งใหญ่ ฉันตัดสินใจที่จะโพสต์สิ่งนี้เพราะฉันกำลังจะติดตั้ง SynchToy เพื่อแก้ไขปัญหาด้านล่างและฉันรู้สึกไม่เป็นมืออาชีพเล็กน้อยเมื่อใช้ "ของเล่น" แต่ฉันไม่คิดว่าจะดีไปกว่านี้ หลายครั้งที่ฉันพบว่าเมื่อฉันอยู่ในสถานการณ์นี้ฉันพลาดวิธีที่ชัดเจนในการทำสิ่งต่าง ๆ - มาจากการเป็นนักพัฒนาเพียงคนเดียวใน บริษัท แอปพลิเคชันเว็บ ASP.NET ที่พัฒนาบนคอมพิวเตอร์ของฉันในที่ทำงาน โซลูชันมี 2 โครงการ: เว็บไซต์ (ไฟล์) WebsiteLib (C # / dll) ใช้ที่เก็บ Git นำไปใช้งานบนเว็บเซิร์ฟเวอร์ GoGrid 2008R2 การใช้งาน: ทำการเปลี่ยนแปลงรหัส กดเพื่อ Git รีโมตเดสก์ท็อปไปยังเซิร์ฟเวอร์ ดึงจาก Git เขียนทับไฟล์สดด้วยการลาก / วางด้วย windows explorer ในขั้นตอนที่ 5 ฉันลบไฟล์ทั้งหมดออกจากรูทเว็บไซต์ .. นี่เป็นสิ่งที่ไม่ควรทำ นั่นเป็นเหตุผลที่ฉันกำลังจะติดตั้ง SynchToy ... …

4
โปรแกรมเมอร์ใช้เครือข่ายเพื่อแบ่งปันทรัพยากรคอมพิวเตอร์ราคาแพงในยุค 60 และยุค 70 อย่างไร
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา ฉันยังเด็กและไม่ได้มีชีวิตอยู่ในช่วงยุค 60 และยุค 70 เพื่อประสบการณ์เครือข่ายและการเขียนโปรแกรมเหมือนครั้งหนึ่งเคยเป็น ฉันเฝ้าดูการพูดคุยของ Van Jacobson ใน Content Centric Networking และในการพูดคุยเหล่านี้เขาได้ให้มุมมองทางประวัติศาสตร์ที่ระบุว่าในยุค 60 และยุค 70 การเชื่อมต่อเครือข่ายได้รับการออกแบบมาเพื่อแก้ปัญหาการแบ่งปันทรัพยากรเช่นการเข้าถึงเครื่องอ่านการ์ดที่หายาก หรือเทปไดร์ฟความเร็วสูง จากนั้นเขาก็จะบอกว่ามีข้อมูลน้อยมากในยุคนี้และข้อมูล "ไม่ได้อยู่บนคอมพิวเตอร์" มันเป็นสิ่งที่คุณพกติดตัวไปกับคุณเช่นบนเทปหรืองานพิมพ์ ฉันมีคำถามสองข้อเกี่ยวกับเรื่องนี้: 1) ผู้คน "จากระยะไกล" ใช้บางอย่างเช่นเครื่องอ่านการ์ดได้อย่างไร แน่นอนในบางจุดการ์ดจริงจะต้องถูกส่งไปทุกที่ที่คอมพิวเตอร์อยู่ หากคุณอยู่ห่างออกไป 100 ไมล์หมายความว่าพวกเขาโพสต์การ์ดออกก่อนเวลาและจากนั้นก็ใช้เครือข่ายเพื่อดำเนินการคำสั่งที่จำเป็นในการเรียกใช้การ์ดเด็คเหล่านั้นหรือไม่ 2) คนทั่วไปได้รับผลลัพธ์ของโปรแกรมอย่างไร มันถูกส่งกลับข้ามสายหรือถูกพิมพ์ลึกหนาบาง / พิมพ์ etcetera โพสต์หลังจากโปรแกรมถูกเรียกใช้กลับไปที่นักวิจัยระยะไกล? ฉันขอโทษถ้าฉันได้รับยุคของฉันผสมในทางใดทางหนึ่งที่ฉันกล่าวว่าฉันไม่ได้มีชีวิตอยู่ในเวลา ขอบคุณ

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