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

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

6
การออกแบบระบบใหม่สำหรับ Scala
ดวงจันทร์จำนวนมากหลายครั้งแล้วที่ฉันทำปริญญาโทของฉันในวิศวกรรมซอฟต์แวร์เชิงวัตถุ ฉันครอบคลุมทุกอย่าง: การเริ่มต้นโครงการ, ความต้องการ, การวิเคราะห์, ออกแบบ, สถาปัตยกรรม, การพัฒนา, ฯลฯ หนังสือเล่มโปรดของฉันตลอดเวลาคือการพัฒนาซอฟต์แวร์เชิงวัตถุ, แนวทางประสบการณ์ (IBM-1996) หนังสือที่สร้างขึ้นโดยกลุ่มผู้เชี่ยวชาญที่แท้จริงของเวลาของพวกเขา มันอธิบายวิธีการทำงานของผลิตภัณฑ์เป็นศูนย์กลางเพื่อการวิเคราะห์เชิงวัตถุการออกแบบและการพัฒนา ฉันออกแบบและพัฒนาและมีความสุขและเป็นจุดเริ่มต้นของเกมของฉัน แต่ฉันเริ่มรู้สึกล้าสมัยไปแล้ว: การเคลื่อนไหวแบบ Agile กลายเป็นแฟชั่นในวันนั้น ทันใดนั้นผู้พัฒนาที่ไม่มีประสบการณ์ก็เริ่มพูดพล่ามเมื่อฉันพูดว่า "ข้อกำหนด" หรือ "สถาปัตยกรรม" ราวกับว่าสิ่งเหล่านี้ถูกแทนที่ด้วยเวทมนตร์ การออกแบบและการพัฒนาสูญเสียไปอย่างสนุกและฉันกำลังจะออกจากอุตสาหกรรมไอทีทั้งหมดไปกับฉัน จากนั้นฉันก็ค้นพบสกาล่า โอ้เหมือนฝนนุ่ม ๆ บนถนนที่เต็มไปด้วยฝุ่น ทุกอย่างเพิ่งชัดเจนอากาศก็หวานอีกครั้งและแสงเล็ก ๆ ของฮาร์ดไดรฟ์ของฉันจะสั่นไหวลึกลงไปในยามค่ำคืนทำให้ฉันเป็นเพื่อนกันในโลกแห่งการค้นพบ ฉันชอบการออกแบบระบบ ฉันเป็นสถาปนิกที่สำคัญมากกว่าโปรแกรมเมอร์ ฉันรักการวิเคราะห์การออกแบบการคิดการโต้เถียงการปรับปรุง - ฉันรักการออกแบบที่เรียบง่ายสะอาดและกรอบ เราจะออกแบบโซลูชัน Scala บริสุทธิ์ได้อย่างไร ไดอะแกรมลำดับทั่วไปไดอะแกรมปฏิสัมพันธ์ไดอะแกรมวัตถุ ฯลฯ ทั้งหมดอาจถูกแทนที่หรือปรับปรุงเพื่อความดีของการผสมความจำเป็นและการทำงานของระบบที่มุ่งเน้นวัตถุ แน่นอนว่ามีบางสิ่งที่แตกต่างออกไปโดยสิ้นเชิง! ฉันไม่ได้มองหาความซับซ้อนป่อง - ฉันกำลังมองหาความเรียบง่ายที่มีความยืดหยุ่น เช่น Scala นั้นง่ายและง่าย …

2
การแยกการเข้าถึงข้อมูลใน ASP.NET MVC
ฉันต้องการตรวจสอบให้แน่ใจว่าฉันปฏิบัติตามมาตรฐานอุตสาหกรรมและแนวปฏิบัติที่ดีที่สุดกับการแตกที่แท้จริงครั้งแรกของฉันที่ MVC ในกรณีนี้คือ ASP.NET MVC โดยใช้ C # ฉันจะใช้ Entity Framework 4.1 สำหรับโมเดลของฉันโดยมีวัตถุเป็นรหัสแรก (ฐานข้อมูลมีอยู่แล้ว) ดังนั้นจะมีวัตถุ DBContext สำหรับดึงข้อมูลจากฐานข้อมูล ในการสาธิตที่ฉันได้อ่านผ่านเว็บไซต์ asp.net ผู้ควบคุมจะมีรหัสการเข้าถึงข้อมูลอยู่ สิ่งนี้ดูไม่ถูกต้องสำหรับฉันโดยเฉพาะอย่างยิ่งเมื่อทำตามแนวทางปฏิบัติของ DRY (อย่าทำซ้ำตัวเอง) ตัวอย่างเช่นสมมติว่าฉันกำลังเขียนแอปพลิเคชันเว็บที่จะใช้ในห้องสมุดสาธารณะและฉันมีตัวควบคุมสำหรับการสร้างอัปเดตและลบหนังสือในแคตตาล็อก การกระทำหลายอย่างอาจใช้ ISBN และต้องการส่งคืนวัตถุ "หนังสือ" (โปรดทราบว่านี่อาจไม่ใช่รหัสที่ถูกต้อง 100%): public class BookController : Controller { LibraryDBContext _db = new LibraryDBContext(); public ActionResult Details(String ISBNtoGet) { Book currentBook = _db.Books.Single(b …

5
วิธีจัดการกับข้อยกเว้นที่ตรวจสอบซึ่งไม่สามารถโยนได้
ตัวอย่าง: foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); เนื่องจากการเข้ารหัสเป็น hardcoded และถูกต้องตัวสร้างจะไม่โยน UnsupportedEncodingException ที่ประกาศในสเปค (ยกเว้นกรณีที่จาวาใช้งานไม่ได้ซึ่งในกรณีนี้ฉันหลงทางอยู่แล้ว) อย่างไรก็ตาม Java บังคับให้ฉันจัดการกับข้อยกเว้นนั้นอยู่ดี ปัจจุบันดูเหมือนว่า try { foobar = new InputStreamReader(p.getInputStream(), "ISO-8859-1"); } catch(UnsupportedEncodingException e) { /* won't ever happen */ } ความคิดใดจะทำให้ดีขึ้นได้อย่างไร

7
วิธีการแปลงโปรแกรมเมอร์คัดลอก / วาง / สปาเก็ตตี้เพื่อดูแสง?
คำถามนี้ได้รับแรงบันดาลใจจากคนนี้ ในขณะที่คำถามอื่น ๆ ถูกแปลเป็นภาษาท้องถิ่นฉันเชื่อว่าปัญหาพื้นฐานเป็นสิ่งที่พบได้ทั่วไปในอุตสาหกรรมของเรา ฉันรู้ว่ามีนักพัฒนาบางคนที่จะอ่านและคิดว่าฉันทำสิ่งนี้ขึ้นแล้วพวกเขาอาจตอบว่าทุกคนใส่ใจงานของพวกเขาและต้องการเรียนรู้ แต่เพียงแค่ดูโพสต์โปรแกรมเมอร์ SE อื่น ๆ ( ตรงประเด็น ) ฉันรู้ว่านั่นไม่ใช่ความจริงในระดับสากล ดังนั้นสมมติว่าคุณมีใครบางคนในทีมของคุณ (หรืออาจเป็นคนส่วนใหญ่) ซึ่งเป็นขั้นตอนการปฏิบัติงานมาตรฐานคือการคัดลอก / วางและผู้ที่เชื่อว่าทุกอย่างสามารถแก้ไขได้ถ้าเพียงคุณเพิ่มการเรียกฟังก์ชันและตัวแปร บุคคลนี้ไม่เคยได้ยินเรื่อง TDD, DRY หรือ SOLID และนอกเวลาทำงาน 40 ชั่วโมงเมื่อพวกเขาไม่ว่างที่ทำงานพวกเขาไม่เคยอ่านวิธีการ / การปฏิบัติ / การออกแบบหนังสือเล่มเดียว ในอดีตฉัน (และคนอื่น ๆ ) ได้ถามคุณจะสอน OODได้อย่างไร แต่ตอนนี้ฉันคิดว่านั่นไม่ใช่คำถามที่ถูกต้อง คำถามที่แท้จริงคือคุณจะเข้าหาบุคคล / ทีมเช่นนั้นได้อย่างไรและทำให้พวกเขาอยากรู้อยากเห็นเกี่ยวกับวิธีที่ดีกว่าในการทำสิ่งต่าง ๆ ? คุณสร้างแรงบันดาลใจให้พวกเขาเรียนรู้ได้อย่างไร หากปราศจากสิ่งนั้นดูเหมือนว่าการสอนการประชุมการบรรยายและการอภิปรายทั้งหมดจะไร้ประโยชน์หากพวกเขามีความสุขอย่างสมบูรณ์แบบที่จะกลับไปที่โต๊ะทำงานของพวกเขาและทำสิ่งที่พวกเขาทำมาตลอด ฉันทำงานกับกลุ่มคนแบบนี้ จริงๆแล้วพวกเขาเป็นคนที่ค่อนข้างสดใส แต่ฉันเกลียดเมื่อฉันได้ยินว่า "ฉันเขียนโค้ดเสร็จแล้วเพียงแค่ต้องการปรับโครงสร้างและแบ่งออกเป็นหลายคลาสเพื่อให้ DXM มีความสุข" …

4
วิธีการกำหนดระดับของสิ่งที่เป็นนามธรรม
ฉันกำลังอ่านหนังสือที่เรียกว่า"รหัสสะอาด"ในวันนี้และฉันเจอวรรคหนึ่งที่ผู้เขียนพูดถึงระดับของสิ่งที่เป็นนามธรรมต่อฟังก์ชั่นเขาจำแนกรหัสบางส่วนว่าเป็นนามธรรมระดับต่ำ / ปานกลาง / สูง คำถามของฉันคือเกณฑ์ในการกำหนดระดับของสิ่งที่เป็นนามธรรมคืออะไร? ฉันพูดย่อหน้าจากหนังสือ: เพื่อให้แน่ใจว่าฟังก์ชั่นของเรากำลังทำ“ สิ่งเดียว” เราต้องตรวจสอบให้แน่ใจว่าข้อความในฟังก์ชั่นของเรานั้นอยู่ในระดับเดียวกันของนามธรรม มันง่ายที่จะดูว่ารายการ 3-1 ละเมิดกฎนี้อย่างไร มีแนวคิดที่มีอยู่ในระดับที่สูงมากของนามธรรมเช่น getHtml (); อื่น ๆ ที่อยู่ในระดับปานกลางของ abstraction เช่น: String pagePathName = PathParser.render (pagePath); และยังคงอยู่ในระดับต่ำอย่างน่าทึ่งเช่น:. append ("\ n")

11
จะทำอย่างไรกับสมาชิกในทีมที่ขู่ว่าจะลาออกตลอดเวลาและทำงานด้วยยาก [ปิด]
ฉันทำงานในกลุ่มพัฒนาขนาดเล็กที่มีนักพัฒนา 3 คน เรามีการจัดการที่เข้มงวดและไม่มีโครงสร้างให้กับทีม ไม่มีหัวหน้าทีมที่ได้รับมอบหมายและผู้จัดการก็ถูกส่งมอบอย่างเป็นธรรม นักพัฒนาอาวุโสอยู่กับ บริษัท มา 4 ปีในเวลานั้นเขามีมือขนาดใหญ่ในการตั้งค่าระบบและทำให้พวกเขาทำงานต่อไป เขาไม่ได้เป็นนักพัฒนาที่ดีมาก แต่เป็นโคเดอร์โคบาลที่ดีและเข้าใจเครือข่ายในแบบที่ฉันไม่เคยทำได้ เขาได้รับบทบาทของ "ผู้พัฒนานำ" และ "สถาปนิกระบบ" เพราะเขามีความอาวุโสและรู้สึกว่าเขาดีกว่างานของเขามากกว่าพวกเราที่เหลือ ปัญหาของฉันคือเขาขู่ว่าจะลาออกตลอดเวลา เมื่อวานนี้เขาแจ้งฉันว่าภายใน 6 สัปดาห์เขาจะเลื่อนระดับขึ้นอีกระดับในโปรแกรมการมอบสิทธิ์ 401k และวางแผนที่จะออกเดินทางหลังจากนั้น เมื่อฉันถามเขาว่าทำไมเขาบอกว่าเป็นเพราะผู้จัดการของเรา (ชาย) และทีม (ทีมที่เป็นฉัน) กำลัง“ ทำลายล้าง” เขา เขารู้สึกว่าเขา "สมควร" ได้รับการแต่งตั้งให้เป็นผู้จัดการฝ่ายพัฒนาตามระดับอาวุโสของเขา เขาไม่ชอบฉันเพราะฉันผลักดันสิ่งต่าง ๆ เช่นซอฟต์แวร์ติดตามข้อผิดพลาด / ปัญหาและเพราะฉันทำงานของฉันได้ดี ครั้งล่าสุดที่เขาขู่ว่าจะลาออกฉันก็จริงจังกับเขาและเริ่มวางแผนงานของเขาที่จะจากไป จากนั้นเขาเปลี่ยนใจและบอกฉันว่างานที่ฉันทำคือความรับผิดชอบของเขา เขาอารมณ์เสียกับฉันและความตึงเครียดก็สูงมากชั่วขณะหนึ่ง นี่คือวิธีที่แตกต่างกันที่ฉันได้เข้าหาสถานการณ์: เพียงทำในสิ่งที่เขาถาม: สิ่งนี้ช่วยลดความตึงเครียด แต่ก็ไม่มีอะไรเกิดขึ้นและผู้ใช้ก็อารมณ์เสีย ควบคุมและจัดการสิ่งต่าง ๆ ให้เสร็จ: สิ่งนี้ทำให้ผู้ใช้มีความสุข แต่จากนั้นเขาก็โกรธฉันและปิดตัวลงเขาจะไม่พูดคุยกับฉันหรือทำงานกับฉันเพื่อทำสิ่งต่าง …

17
การสอน C ++ ให้กับนักเรียนมัธยมปลายเป็นครั้งแรก: จะวาดเส้นตรงได้อย่างไร
ฉันจะให้คำปรึกษากับทีมนักเรียนมัธยมปลายสำหรับการแข่งขันหุ่นยนต์ครั้งแรกทีมส่วนใหญ่ที่นี่พัฒนา [ซอฟต์แวร์หุ่นยนต์ของพวกเขาโดยใช้ C ++ สำหรับนักเรียนหลายคนในทีมนี่จะเป็นการแนะนำครั้งแรกในการเขียนโปรแกรม ฉันจะไม่เลือก C ++ สำหรับการสอนการเขียนโปรแกรมให้กับนักเรียนระดับมัธยมศึกษาตอนปลาย (เช่น Python หรือ Javascript จะง่ายกว่าที่ฉันคิด) แต่ตัวเลือกถูกตั้งไว้ ฉันต้องการสอนพวกเขาอย่างถูกต้อง C ++ (เช่นหลีกเลี่ยงการใช้ภาษา C / C ++ แบบผสมเช่น C +) แต่ฉันไม่ต้องการทำให้พวกมันกลัวด้วยความซับซ้อนที่ไม่จำเป็น สำหรับเรื่องที่: ฉันควรเริ่มใช้ STL ตั้งแต่วันแรกหรือไม่ vectorหรือเพียงแค่ติดกับอาร์เรย์มาตรฐาน? อาร์เรย์นั้นง่ายต่อการแนะนำ แต่ข้อผิดพลาดของตัวชี้อาจยากต่อการจับ สำหรับ I / O ฉันควรยึดติดcoutฯลฯ หรือคุณคิดว่าprintfจะเรียนรู้ได้ง่ายขึ้น? มีแหล่งข้อมูลออนไลน์สำหรับ C ++ ที่เหมาะสมที่จะใช้สำหรับผู้เรียนอายุน้อยหรือไม่? ขอบคุณ! แก้ไข : ขอบคุณสำหรับคำตอบที่ยอดเยี่ยมมากมาย นอกเหนือจากAccelerated C …
35 c++ 

14
เปรียบเทียบตนเองกับผู้อื่นระหว่างการสัมภาษณ์ [ปิด]
ฉันมักจะถูกถามในบางช่วงของกระบวนการสัมภาษณ์เพื่อเปรียบเทียบตัวเองกับเพื่อนของฉัน ตัวอย่างเช่นหนึ่งในงานหลังจากสำเร็จการศึกษาครั้งแรกของฉันขอให้ฉันเปรียบเทียบตัวเองกับเพื่อนร่วมชั้นของฉัน งานที่ฉันสัมภาษณ์เมื่อเร็ว ๆ นี้ขอให้ฉันเปรียบเทียบตัวเองกับเพื่อนร่วมงานของฉัน ฉันเล่นมันลงไปเรื่อย ๆ ฉันมักจะเป็นกังวลว่า "ฉันอยู่เหนือทุกคนรอบตัวฉัน" ฟังดูหยิ่งเกินไป เมื่อมาถึงการผลักดันแม้ว่ามันจะเป็นความจริง ฉันเรียนจบชั้นบนสุดแล้ว ฉันมีเกรดเฉลี่ย 3.99 ซึ่งสูงที่สุดของคนอื่นในปีนั้น เพื่อนนักเรียนของฉันพูดจาอื้ออึงและคร่ำครวญเกี่ยวกับสิ่งต่าง ๆ เช่นต้องใช้คอนโซลเพื่อเขียน "javac xxx.java" และสร้างโปรแกรมแทนการกดปุ่มสร้างใน VS ส่วนใหญ่ไม่ได้ใช้งานอย่างเต็มที่และฉันเกลียดที่จะเห็นสิ่งที่เกิดขึ้นกับพวกเขาในโลกแห่งความจริง บางคนอยู่ห่างจากคนเหล่านี้หลายไมล์ มีพวกเราประมาณ 3-5 คนที่ให้การแช่งเรียนรู้ด้วยตัวเองราวกับว่ามันมีความสำคัญและมียีนอะไรก็ตามที่จำเป็นต้องคิดเหมือนโปรแกรมเมอร์หรือนักคณิตศาสตร์ วิชาเอกคณิตศาสตร์ - เขาจบการศึกษาหนึ่งปีข้างหน้าของฉันหรือเขาจะใช้ชื่อของฉัน) แม้ในบรรดา "ผู้ตีที่ยิ่งใหญ่" เพียงไม่กี่คนนี้ฉันก็เป็นหนึ่งในนั้นถ้าไม่ใช่สิ่งที่ดีที่สุด (บางคนก็มีประสบการณ์มากกว่า) ประมาณ 90% ของนักเรียนคนอื่น ๆ ถึงแม้ว่าฉันจะเห็นว่าไม่ได้เป็นเพราะฉันเป็นคนดี แต่พวกเขาเป็นคนเลวจริง ๆ ฉันมักจะตะลึงพรึงเพริดไม่เพียง แต่ด้วยความไม่รู้ของพวกเขา แต่ด้วยความไม่เต็มใจของพวกเขาที่จะทำสิ่งที่ต้องทำ เพื่อนของฉันในวิทยาลัยขี้เกียจคร่ำครวญไม่รับผิดชอบกระสอบที่โง่เขลาที่จะวิ่งไปรอบ ๆ อึก ๆ จากเหล้ามากไปกว่าการพยายามเรียนรู้อะไร จากนั้นพวกเขาตำหนิความไร้ประสิทธิภาพของพวกเขาต่ออาจารย์ …
35 interview 

5
เป็นความคิดที่ดีหรือไม่ที่จะขายแอพ Android ใน Android Market ภายใต้ชื่อจริงของคุณ? [ปิด]
ฉันเพิ่งเริ่มต้นใช้งานในการพัฒนา Android และกำลังทำงานกับแอป "ฝึกหัด" เล็ก ๆ น้อย ๆ เป็นตัวอย่างหนึ่งคือวอลล์เปเปอร์สด อื่น ๆ มีความคล้ายคลึงกันในแง่ของความพยายามในการพัฒนา เมื่อแอพเหล่านี้เสร็จแล้วฉันต้องการจะแสดงรายการไว้ในตลาด ฉันอาจแสดงรายการเหล่านั้นได้ฟรี (หรืออาจจะไม่) และพวกเขาเป็นแอพที่เรียบง่าย แต่ถ้าสิ่งต่าง ๆ เป็นไปอย่างราบรื่นฉันอาจลองสร้างและขายโครงการขนาดใหญ่และมีความทะเยอทะยานมากขึ้นในอนาคต คำถามของฉันคือการขายแอปในตลาด Android ภายใต้ชื่อของตัวเองเป็นเรื่องที่ฉลาดไหม มองไปรอบ ๆ ในตลาดดูเหมือนว่าทุกคนเกือบจะขายภายใต้ชื่อ บริษัท แม้ว่าพวกเขาจะเป็นเพียงร้านค้า 1-2 คน ฉันสามารถเห็นประโยชน์จากการสร้าง บริษัท เพื่อขายแอพของฉันได้อย่างแน่นอนหากพวกเขาเป็นแอพขนาดใหญ่ที่เกี่ยวข้องกับทีมงานของผู้คน แต่ดูเหมือนว่า overkill ในการสร้าง บริษัท แม้ว่าจะอยู่ในชื่อและตัวตนเพียงเพื่อแสดงรายการเช่นวอลล์เปเปอร์สด ในขณะที่ฉันไม่ต้องการเปิดเผยตัวเองให้รับผิดทางกฎหมายหรือปัญหาที่อาจเกิดขึ้นอื่น ๆ ที่ฉันไม่ได้เล็งเห็น หลักสูตรที่ดีที่สุดของการกระทำที่นี่คืออะไร? สำหรับวัตถุประสงค์ของเขตอำนาจศาลฉันอยู่ในสหรัฐอเมริกา ฉันเข้าใจว่าคุณไม่ใช่ทนายความของฉันและคำตอบไม่ใช่คำแนะนำทางกฎหมาย แก้ไขเพื่อความกระจ่าง: เพียงเพื่อให้ชัดเจนสิ่งที่ฉันต้องการถามคือน้อยกว่าเกี่ยวกับข้อดีของการจัดตั้ง บริษัท และเพิ่มเติมเกี่ยวกับอันตรายที่อาจเกิดขึ้นจากการไม่จัดตั้ง บริษัท กล่าวอีกอย่างหนึ่งก็คือมีแนวโน้มที่จะเกิดสถานการณ์ที่ฉันกำลังตีตัวเองและพูดว่า "โอ้ถ้าเพียง …

9
คนที่ไม่ใช่ด้านไอทีสามารถจัดการกับวิกิได้หรือไม่ [ปิด]
บริษัท ของฉันต้องการปรับปรุงการจัดการข้อมูลการวิจัยตลาดของพวกเขา รูปแบบการจัดการข้อมูลปัจจุบัน: "เฮ้จิมโบภาพของ WhatZit 2.0 ของเราอยู่ตรงไหน? "ใช่ฉันจำอีเมลนั้นเกี่ยวกับ บริษัท นั้นจากคนนั้นได้ไม่กี่นาทีเพื่อค้นหา Outlook ของฉัน" "ใครมีสำเนาล่าสุดของแคตตาล็อกผลิตภัณฑ์ของคู่แข่งที่สำคัญ? Mine มาจากปี 2009" ... "คอลลีนทำและเธอลาคลอดคุณจะต้องโทรหาเธอเพื่อขอรหัสผ่านเวิร์กสเตชันของเธอ ... " สไตล์การจัดการข้อมูลที่ต้องการ: ข้อมูลถูกจัดระเบียบอย่างเป็นระเบียบตามหัวข้อ (กฎหมาย, เศรษฐกิจ, อุตสาหกรรม, คู่แข่ง) สำหรับแต่ละหัวข้อสื่อหลายประเภทจัดเก็บไว้ด้วยกัน (ภาพผลิตภัณฑ์ของ บริษัท , ข่าวประชาสัมพันธ์, ข้อมูลการติดต่อ) แต่ก็ยังจัดเรียงตามประเภทอย่างเรียบร้อย ประวัติการแก้ไขข้อมูล การเข้าถึงชุมชน (ไม่มีไซโลข้อมูล) ฉันคิดถึงการตั้งค่าแผนก wiki เพื่อให้ผู้ใช้ทุกคนสามารถเข้าถึงได้ ดูเหมือนว่าจะตอบสนองเกณฑ์สี่ข้อด้านบน แต่ฉันกังวลเล็กน้อยเกี่ยวกับการใช้งานง่าย (อ่าน: ถอดรหัสได้กับคนที่ไม่ใช่ด้านเทคนิค) สำหรับคุณสมบัติขั้นสูงเพิ่มเติมเช่นแกลเลอรีภาพการจัดรูปแบบบทความและสิ่งที่คล้ายกัน มีใครที่นี่ตั้งค่า wiki สำหรับผู้ที่ไม่ใช่ฝ่ายไอทีและไม่ติดไฟกลายเป็นเมืองผีหรือมีลักษณะเหมือน Geocities คำถามโบนัส: คุณเห็นข้อบกพร่องที่ชัดเจนสำหรับการเลือก …

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

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

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

10
รูปแบบการต่อต้านการตั้งชื่ออะไรอยู่? [ปิด]
มีบางชื่อที่ถ้าคุณพบว่าตัวเองชื่อคุณรู้ว่าคุณได้ทำบางสิ่งบางอย่างสับสน ตัวอย่างเช่น: XxxManager สิ่งนี้ไม่ดีเนื่องจากคลาสควรอธิบายว่าคลาสทำอะไร หากคำที่เฉพาะเจาะจงที่สุดที่คุณสามารถคิดได้ในสิ่งที่ชั้นเรียนทำคือ "จัดการ" ชั้นเรียนนั้นใหญ่เกินไป มีรูปแบบการต่อต้านการตั้งชื่ออื่น ๆ อีกบ้าง? เพื่อความกระจ่างแจ้งฉันไม่ได้ถามว่า "ชื่ออะไรไม่ดี" - คำถามนั้นเป็นอัตนัยทั้งหมดและไม่มีวิธีการตอบ ฉันถามว่า "ชื่ออะไรบ่งบอกถึงปัญหาการออกแบบโดยรวมของระบบ" นั่นคือถ้าคุณพบว่าตัวเองต้องการที่จะเรียก Xyz ส่วนประกอบนั่นอาจบ่งบอกว่าส่วนประกอบนั้นไม่สบาย โปรดทราบว่าที่นี่มีข้อยกเว้นสำหรับทุกกฎ - ฉันแค่มองหาธงคำเตือนเมื่อฉันต้องหยุดและคิดทบทวนการออกแบบใหม่

11
ทำไม PHP ถึงมีอินเตอร์เฟส?
ฉันสังเกตเห็นว่าใน PHP5 มีการเพิ่มส่วนต่อประสานกับภาษา อย่างไรก็ตามเนื่องจาก PHP ถูกพิมพ์อย่างหลวม ๆ ดูเหมือนว่าประโยชน์ส่วนใหญ่ของการใช้ส่วนต่อประสานจะหายไป ทำไมสิ่งนี้จึงรวมอยู่ในภาษา

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