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

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

5
ควรใช้วิธีปฏิบัติที่ดีที่สุดในสคริปต์การเข้าสู่ระบบ PHP อย่างไร
ฉันต้องการเขียนสคริปต์การเข้าสู่ระบบอีกครั้งสำหรับเว็บไซต์ลูกค้าเพื่อให้พวกเขาปลอดภัยมากขึ้น ฉันต้องการทราบว่าแนวทางปฏิบัติที่ดีที่สุดที่ฉันสามารถนำไปใช้กับสิ่งนี้ได้อย่างไร แผงควบคุมที่มีการป้องกันด้วยรหัสผ่านนั้นมีอยู่มากมาย แต่มีเพียงไม่กี่คนที่ใช้แนวทางปฏิบัติที่ดีที่สุดในแง่ของการเขียนโค้ดความเร็วและความปลอดภัย ฉันจะใช้ PHP และฐานข้อมูล MySQL ฉันเคยใช้ md5 แต่ฉันเห็นว่า sha256 หรือ sha512 น่าจะดีกว่า (พร้อมแฮชและเกลือที่ปลอดภัย) สคริปต์การเข้าสู่ระบบบางตัวจะบันทึกที่อยู่ IP ตลอดเซสชันหรือแม้กระทั่งตัวแทนผู้ใช้ แต่ฉันต้องการหลีกเลี่ยงเนื่องจากไม่เข้ากันได้กับพร็อกซีเซิร์ฟเวอร์ ฉันยังใช้แนวปฏิบัติที่ดีที่สุดเล็กน้อยในการใช้งานเซสชันใน PHP 5 (ครั้งล่าสุดที่ฉันอ่านคือ PHP 4) ดังนั้นแนวปฏิบัติที่ดีที่สุดบางข้ออาจเป็นประโยชน์ ขอบคุณ

5
การเขียนโปรแกรมใน Python เร็วกว่าใน C, C ++ หรือ Java หรือไม่? [ปิด]
มีความเชื่ออย่างกว้างขวางในหมู่โปรแกรมเมอร์ว่ายิ่งภาษามีพลวัตและพิมพ์ผิดมากเท่าไรโปรแกรมเมอร์ก็ยิ่งมีประสิทธิผลมากขึ้นเท่านั้น Guido van Rossum เขียนเกี่ยวกับประสิทธิภาพการเขียนโปรแกรมโดยใช้ python ในปี 1998และค้นหาในเว็บฉันยังเห็นผู้คนที่อ้างสิทธิ์นี้: วากยสัมพันธ์รหัสหลามดูเหมือนว่ารหัสหลอกที่ปฏิบัติการได้ การพัฒนาโปรแกรมโดยใช้ Python เร็วกว่าการใช้ C / C ++ 5-10 เท่าและเร็วกว่าการใช้ Java 3-5 เท่า ในหลายกรณีต้นแบบของแอปพลิเคชันสามารถเขียนใน Python โดยไม่ต้องเขียนโค้ด C / C ++ / Java ใด ๆ บ่อยครั้งที่ต้นแบบมีฟังก์ชั่นเพียงพอและทำงานได้ดีพอที่จะส่งมอบเป็นผลิตภัณฑ์สุดท้ายประหยัดเวลาในการพัฒนาอย่างมาก ในบางครั้งต้นแบบสามารถแปลบางส่วนหรือทั้งหมดเป็น C ++ หรือ Java - Python เป็นวัตถุเชิงธรรมชาติทำให้การแปลเป็นกระบวนการที่ตรงไปตรงมา ปัญหานี้ได้รับการประเมินทางวิทยาศาสตร์อย่างเหมาะสมหรือไม่? ถ้าไม่ใช่สำหรับไพ ธ อนบางทีสำหรับภาษาสคริปต์พี่น้องอย่างruby , perlหรือphp ? ฉันไม่ได้มองหาการหาเหตุผลเข้าข้างตนเองการเปรียบเทียบหรือคำอธิบายว่าทำไมมันอาจจะตอบยากถ้ามันเป็นความเห็นของนักวิจัยหรือผู้เชี่ยวชาญที่ใช้เวลาในการพิจารณาปัญหา ตอนแรกฉันถามคำถามนี้ที่skeptics.SEและมีคนแนะนำว่าฉันควรถามที่นี่ด้วย

5
แหล่งข้อมูลที่ดีที่สุดสำหรับการเรียนรู้ TDD คืออะไร? [ปิด]
ฉันต้องการเรียนรู้ (และอาจารย์) TDD อะไรที่ดีที่สุด: หนังสือ เว็บไซต์ วิดีโอ รายการออกกำลังกาย คำพูดส่วนบุคคลของภูมิปัญญา สำหรับการเรียนรู้การแข็งค่าและการใช้ TDD?
27 books  tdd 

9
แยกคลาสออกจากส่วนติดต่อผู้ใช้
อะไรคือแนวปฏิบัติที่ดีที่สุดในการเขียนคลาสที่อาจต้องรู้เกี่ยวกับส่วนต่อประสานผู้ใช้ ชั้นเรียนจะรู้วิธีวาดตัวเองไม่ได้หรือไม่เพราะมันขึ้นอยู่กับว่าอินเทอร์เฟซผู้ใช้คืออะไร (คอนโซล, GUI, ฯลฯ ) ในหนังสือเขียนโปรแกรมหลายเล่มฉันเจอตัวอย่าง "รูปร่าง" ที่แสดงการสืบทอด รูปร่างคลาสพื้นฐานมีเมธอด draw () ที่แต่ละรูปร่างเช่นวงกลมและการแทนที่สแควร์ สิ่งนี้ทำให้เกิด polymorphism แต่วิธีการดึง () ไม่ใช่วิธีที่ขึ้นอยู่กับว่าส่วนต่อประสานผู้ใช้คืออะไร หากเราเขียนคลาสนี้เพื่อพูดแบบฟอร์มชนะเราจะไม่สามารถใช้งานซ้ำได้สำหรับแอปคอนโซลหรือเว็บแอป ถูกต้องหรือไม่ สาเหตุของคำถามคือฉันพบว่าตัวเองติดอยู่เสมอและวางตัวกับวิธีการวางชั้นเรียนทั่วไปเพื่อให้พวกเขามีประโยชน์มากที่สุด นี่เป็นการทำงานกับฉันและฉันสงสัยว่าถ้าฉัน "พยายามหนักเกินไป"
27 design 

5
เทมเพลต C ++ เป็นเพียงแมโครชนิดหนึ่งที่ได้รับการยกย่องหรือไม่?
จากการเปรียบเทียบที่แตกต่างกันระหว่างเทมเพลต C ++ และเจเนอรัล C # / Java เช่นนี้ - /programming/31693/what-are-the-differences-between-generics-in-c-and-java-and-templates-in-c/31929#31929 ฉันเข้าใจว่ามีการใช้เทมเพลต C ++ โดยการประมวลผลล่วงหน้าบางอย่าง (การแทนที่ข้อความธรรมดาก่อนการแยกวิเคราะห์) ไม่ได้รวบรวม เนื่องจากการตรวจสอบชนิดในเทมเพลต C ++ มีลักษณะคล้ายกับมาโคร C ฉันหมายความว่าหากมีข้อผิดพลาดบางอย่างพวกเขาเป็นข้อผิดพลาดจากรหัสที่สร้างขึ้นหลังจากการประมวลผลบล็อกรหัส templated ไม่ใช่จากแม่แบบเอง กล่าวอีกนัยหนึ่งมันเป็นแค่มาโครระดับสูงในซี จากนั้นฉันก็พบข้อเท็จจริงอื่น ๆ ที่สนับสนุนสิ่งนี้ - ฉันคิดว่าถ้ามีการใช้เทมเพลต C ++ โดยการประมวลผลล่วงหน้าจะมีปัญหากับการเชื่อมโยงแบบไดนามิก (โดยใช้. dll) และ googling ที่รวดเร็วสนับสนุนสิ่งนี้ อีกจุดคือค่าคงที่จำนวนเต็มสามารถส่งผ่านเป็นอาร์กิวเมนต์ไปยังเทมเพลต และมันยังรองรับการเรียกซ้ำบางประเภท แต่การเรียกซ้ำนี้ไม่พบในรหัสแอสเซมบลีที่รวบรวม / เครื่อง สิ่งที่เรียกซ้ำได้รับการจัดการในเวลารวบรวมโดยการสร้างฟังก์ชั่นสำหรับทุกการโทรซ้ำและจึงมีไบนารีที่ปฏิบัติการขนาดใหญ่ แต่เร็วกว่า แม้ว่าจะแตกต่างจากแมโคร C แต่มีความสามารถที่เหนือกว่า แต่เท็มเพลต …
27 c++  c  compiler  templates  macros 

17
อะไรคือวิธีที่ดีและกระชับในการอธิบายถึงอันตรายของการเขียนโปรแกรมคัดลอกแปะกับผู้ที่ไม่ใช่โปรแกรมเมอร์ [ปิด]
ฉันกำลังมองหาอุปมาอุปไมยหรืออุปมาอุปไมยที่สามารถอธิบายปัญหาของการเขียนโปรแกรมคัดลอกแปะกับผู้ที่ไม่ใช่โปรแกรมเมอร์ บางครั้งฉันทำการตรวจสอบโค้ด / ระบบสำหรับผู้มีโอกาสเป็นลูกค้าและหนึ่งในปัญหาทั่วไปที่ฉันเห็นคือโค้ดคัดลอกวางจำนวนมากมายทั่วฐานรหัสของพวกเขา มันเป็นสิ่งที่ฉันมักจะพูดถึงในบทวิจารณ์และทุกครั้งที่ฉันต้องอธิบายว่าทำไมถึงมีปัญหา (นี่เป็นเรื่องยากโดยเฉพาะอย่างยิ่งกับลูกค้าที่รู้เกี่ยวกับการเขียนโปรแกรมมากพอที่จะเข้าใจว่าการใช้ซ้ำนั้นเป็นสิ่งที่ดี การคัดลอกวางไม่ใช่รูปแบบการใช้ซ้ำที่ดี) เห็นได้ชัดว่าฉันสามารถ (และทำ) อธิบายปัญหาในแง่ของการบำรุงรักษาโค้ด แต่มันจะดีถ้าได้มีการเปรียบเทียบที่ดีและกระชับสำหรับปัญหานี้ที่จะตีบ้านด้วยโปรแกรมเมอร์ที่ไม่ใช่ โบนัสหากการเปรียบเทียบแสดงให้เห็นว่าเหตุใดการค้นหาและแทนที่ไม่ใช่วิธีที่มีประสิทธิภาพสำหรับปัญหานี้ ข้อเสนอแนะใด ๆ เพื่อชี้แจง (ตามคำตอบของ Jaroslav ด้านล่าง) - ฉันไม่ได้พูดถึงการใช้ข้อมูลโค้ดที่นี่; สิ่งที่ฉันเห็น (รบกวนบ่อย) คือการคัดลอกและวางโค้ดอันกว้างใหญ่หรือโค้ดสิบบรรทัดเพื่อรับข้อมูลผู้ใช้บางส่วน (สมบูรณ์ด้วยคิวรี SQL แบบอินไลน์) วางลงในหน้า PHP หรือ ASP.NET หลายสิบหน้า ดังนั้นซ้ำรหัสจากที่อื่นในโครงการเดียวกัน อัปเดต: มีคำตอบที่ดีมาก ๆ อยู่ที่นี่ ฉันได้อธิบายในความคิดเห็นว่าทำไมฉันถึงเลือกคำตอบของ Scott Whitlock แต่ฉันก็อยากจะแนะนำคำตอบแบบ whatsisname อย่างมากถ้าคุณติดต่อกับลูกค้าที่คุ้นเคยกับการผลิตเลย

3
คุณสามารถใช้เหตุการณ์สำคัญใดในการวัดการเติบโตของความสามารถในการเขียนโปรแกรมของคุณ [ปิด]
คุณจะตัดสินอย่างเป็นกลางเมื่อเวลาผ่านไปว่าคุณจะพัฒนาโค้ดได้ดีขึ้นอย่างไร? ตัวอย่างเช่นฉันอาจนั่งที่นี่และรู้สึกว่า "ฉันรู้<language>แล้วและฉันใช้<technique>ตอนนี้ดังนั้นฉันต้องดีขึ้นกว่านี้" แต่นี่ไม่ได้อธิบายถึงอคติของฉันเองหรือความจริงที่ว่าฉันอาจเริ่มดีขึ้นในอัตราที่ช้ากว่าที่ตั้งใจไว้หรือฉันอาจดูด<technique>และไม่เข้าใจ มีวิธีใดบ้างสำหรับคนที่จะประเมินความสามารถของตนเองอย่างเป็นกลาง ? จะเปรียบเทียบพวกเขากับกลุ่มเพื่อนของพวกเขาอย่างเป็นกลางได้อย่างไร

15
ฉันจะโน้มน้าวให้ทีมของฉันใช้คลาส / วิธีการที่เล็กลงได้อย่างไร
คำเตือน: ฉันเป็นผู้มาใหม่ (นี่เป็นวันที่สามของการทำงาน) และเพื่อนร่วมทีมส่วนใหญ่ของฉันมีประสบการณ์มากกว่าฉัน เมื่อฉันดูรหัสของฉันฉันเห็นกลิ่นของรหัสและวิธีปฏิบัติทางวิศวกรรมที่ไม่ดีเช่นดังต่อไปนี้: หลักเกณฑ์การตั้งชื่อค่อนข้างไม่สอดคล้องกัน คุณสมบัติไม่ถูกทำเครื่องหมายว่าอ่านได้อย่างเดียวเมื่อเป็นไปได้ คลาสขนาดใหญ่ - ฉันสังเกตเห็นคลาสยูทิลิตี้ที่ประกอบด้วยวิธีการขยายหลายร้อยรายการ (สำหรับหลายประเภท) มันยาวกว่า 2,500 บรรทัด! วิธีการขนาดใหญ่ - ฉันกำลังพยายามปรับวิธีการที่มีความยาว 150 บรรทัด สองหลังดูเหมือนจะเป็นปัญหาจริง ฉันต้องการโน้มน้าวให้เพื่อนร่วมทีมใช้คลาสและวิธีการที่เล็กลง แต่ฉันควรทำอย่างนั้น? ถ้าใช่แล้วได้อย่างไร ทีมของฉันได้รับที่ปรึกษาจากทีมหลัก (เราเป็นทีมดาวเทียม) ฉันควรไปหาเขาก่อนไหม UPDATE : เนื่องจากคำตอบบางอย่างถามเกี่ยวกับโครงการโปรดทราบว่าเป็นโครงการที่ทำงานได้ และ IMHO คลาส / วิธีการขนาดใหญ่นั้นไม่ดีเสมอไป ยังไงก็ตามฉันไม่ต้องการที่จะฉี่ทีมของฉันออก นั่นเป็นเหตุผลที่ฉันถาม - ฉันควรทำอย่างนั้นหรือไม่และถ้าใช่แล้วฉันจะทำอย่างนั้นเบา ๆ ? UPDATE : ฉันตัดสินใจที่จะทำบางสิ่งตามคำตอบที่ยอมรับ: เพราะฉันเป็นผู้มาใหม่ดังนั้นฉันจึงเห็นทุกอย่างใน "ตาสด" ฉันจะจดบันทึกทุกรหัสกลิ่นที่ฉันพบ (ตำแหน่งทำไมมันแย่เราจะทำอย่างไร ดีกว่า ... ) …

12
SOLID vs. การหลีกเลี่ยงสิ่งที่เป็นนามธรรมก่อนวัยอันควร
ฉันเข้าใจว่าSOLIDควรทำอะไรให้สำเร็จและใช้มันเป็นประจำในสถานการณ์ที่ความเป็นโมดูล่านั้นสำคัญและเป้าหมายของมันก็มีประโยชน์อย่างชัดเจน อย่างไรก็ตามมีสองสิ่งที่ขัดขวางไม่ให้ฉันใช้มันอย่างสม่ำเสมอบน codebase ฉันต้องการหลีกเลี่ยงสิ่งที่เป็นนามธรรมก่อนวัยอันควร จากประสบการณ์ของฉันวาดเส้นที่เป็นนามธรรมโดยไม่มีกรณีการใช้อย่างเป็นรูปธรรม (ชนิดที่มีอยู่ในปัจจุบันหรือในอนาคตอันใกล้ ) นำไปสู่การที่พวกเขาถูกวาดในสถานที่ที่ผิด เมื่อฉันพยายามแก้ไขโค้ดดังกล่าวบรรทัดที่เป็นนามธรรมจะเข้ามาแทนที่การช่วยเหลือ ดังนั้นฉันมักจะทำผิดด้านข้างของการไม่วาดเส้นนามธรรมจนกว่าฉันจะมีความคิดที่ดีว่าพวกเขาจะมีประโยชน์ที่ไหน ฉันพบว่ามันยากที่จะปรับให้เป็นแบบโมดูลาร์เพื่อประโยชน์ของตัวเองถ้ามันทำให้โค้ดของฉันละเอียดยิ่งขึ้นเข้าใจได้ยากขึ้นและไม่กำจัดการทำซ้ำใด ๆ ฉันพบว่ารหัสโพรซีเดอร์ที่เรียบง่ายและแน่นหนาบางครั้งเข้าใจง่ายกว่าโค้ดราวีโอลี่ที่มีปัจจัยดีเพราะการไหลนั้นง่ายและเป็นเชิงเส้น นอกจากนี้ยังง่ายต่อการเขียน ในทางตรงกันข้ามความคิดนี้มักจะนำไปสู่วัตถุที่พระเจ้า ฉันมักจะปรับโครงสร้างเหล่านี้อย่างอนุรักษ์นิยมโดยเพิ่มเส้นนามธรรมที่ชัดเจนเฉพาะเมื่อฉันเห็นรูปแบบที่ชัดเจน หากมีสิ่งใดผิดปกติกับวัตถุของพระเจ้าและรหัสคู่ที่แน่นหนาถ้าคุณไม่ต้องการความเป็นโมดูล่าร์ที่ชัดเจนกว่านี้ไม่มีการทำซ้ำอย่างมีนัยสำคัญและสามารถอ่านรหัสได้? แก้ไข: เท่าที่หลักการของแต่ละบุคคลฉันตั้งใจจะเน้นว่าการทดแทน Liskov เป็น IMHO อย่างเป็นทางการของสามัญสำนึกและควรนำไปใช้ทุกที่เนื่องจาก abstractions ไม่สมเหตุสมผลถ้าไม่ใช่ นอกจากนี้ทุกชั้นเรียนควรมีความรับผิดชอบเพียงระดับเดียวในระดับที่เป็นนามธรรมแม้ว่ามันอาจจะเป็นระดับที่สูงมากโดยมีรายละเอียดการดำเนินการทั้งหมดหนาตาลงในชั้นเรียน 2,000 บรรทัดขนาดใหญ่ โดยพื้นฐานแล้วบทคัดย่อของคุณควรเข้าใจว่าคุณเลือกนามธรรมอย่างไร หลักการที่ฉันถามในกรณีที่ไม่มีความชัดเจนว่าเป็นโมดูล่าร์แบบเปิดปิดการแยกอินเทอร์เฟซและโดยเฉพาะอย่างยิ่งการพึ่งพาอาศัยกัน

7
โปรแกรมเมอร์เว็บควรรู้อะไรบ้างเกี่ยวกับการเข้ารหัส? [ปิด]
โปรแกรมเมอร์ที่สร้างเว็บไซต์ / เว็บแอปพลิเคชันควรเข้าใจการเข้ารหัสหรือไม่ ฉันไม่รู้ว่าอัลกอริทึม crypographic ส่วนใหญ่ทำงานอย่างไรและฉันไม่เข้าใจความแตกต่างระหว่าง md5 / des / aes / etc คุณเคยพบว่าจำเป็นต้องมีความเข้าใจเชิงลึกของการเข้ารหัสหรือไม่ ฉันไม่ต้องการมัน แต่ฉันสงสัยว่าบางทีฉันอาจขาดอะไร ฉันใช้แฮช salt + md5 เพื่อเข้ารหัสรหัสผ่านและบอกให้ผู้ให้บริการเว็บใช้ SSL นอกเหนือจากนั้นฉันไม่สามารถพูดได้ว่าฉันใช้อะไรมากและฉันไม่สามารถพูดด้วยความมั่นใจว่าวิธีการเหล่านี้ปลอดภัยเพียงใด ฉันใช้มันเพราะคนอื่นอ้างว่าปลอดภัย คุณเคยพบว่าจำเป็นต้องใช้วิทยาการเข้ารหัสลับในการเขียนโปรแกรมเว็บนอกเหนือจากตัวอย่างง่ายๆสองอย่างนี้หรือไม่?


11
ตอบสนองความต้องการจากนักธุรกิจ?
วิธีใดที่ดูเหมือนว่าจะดีที่สุดในการเกลี้ยกล่อมข้อกำหนดจากคนที่ไม่มีเทคโนโลยี ฉันกำลังทำงานกับทีมที่พยายามหาข้อมูลจำเพาะสำหรับโครงการ ทุกครั้งที่เราพบกันและมันก็เป็นความคาดหวังสำหรับการประชุมครั้งต่อไปเราขอให้นักธุรกิจนำความต้องการของพวกเขากลับมา พวกเขามักจะตอบสนองสิ่งนี้:“ คุณคิดว่าพวกคุณสามารถสร้างต้นแบบขึ้นมาเพื่อที่เราจะได้เห็นสิ่งที่เราชอบในสัปดาห์หน้า…คุณรู้ไม่ใช่ข้อมูลหรืออะไรเลยเพราะมันเป็นต้นแบบเพียงแค่การใช้งาน” เป็นโครงการบวก 6 เดือนเพื่อให้เห็นได้ชัดว่าเป็นไปไม่ได้ (เราจะต้องพัฒนาทุกสิ่ง!) และเราไม่รู้ด้วยซ้ำว่าจะต้องทำอะไรหากไม่มีสเป็คบางอย่าง ตรงไปตรงมาฉันคิดว่าเหมือนคนส่วนใหญ่พวกเขามีความคิดบางอย่างของสิ่งที่พวกเขาต้องการพวกเขาไม่ได้คิดเกี่ยวกับมันในวิธีที่มุ่งเน้นที่จำเป็นในการรวบรวมความต้องการที่แท้จริง เป็นอีกทางเลือกหนึ่งในการบอกพวกเขา “ ให้สิ่งที่คุณต้องการหรือเราไม่สามารถ / ไม่ทำงาน” (เราต้องการให้พวกเขามีความสุขกับผลลัพธ์) มีวิธีที่ช่วยให้พวกเขาตัดสินใจในสิ่งที่พวกเขาต้องการหรือไม่? ตัวอย่างเช่นเราสามารถบอกพวกเขาได้: “ วาดบางหน้าจอ (ใน Powerpoint บนผ้าเช็ดปากหรืออะไรก็ได้) ที่แสดง UI ที่คุณต้องการด้วยข้อมูลทั้งหมดที่คุณต้องการดูและคำอธิบายเกี่ยวกับการทำงานในระยะขอบ จากนี้เราจะขัดมันขึ้นมาและสร้างแบ็กเอนด์ขึ้นอยู่กับความต้องการด้านพฤติกรรมนี้” หรือ “ ไม่ต้องกังวลว่าจะเป็นอย่างไรในตอนนี้ (หมายเลข 1 วางสาย) เพียงแค่ให้รายการของข้อมูลทั้งหมดที่คุณต้องการเกี่ยวกับแต่ละสิ่งที่โปรแกรมติดตาม ดังนั้นสำหรับ“ ลูกค้า” คุณอาจมีรายชื่อ: ชื่อที่อยู่หมายเลขโทรศัพท์คำสั่งซื้อ ฯลฯ ไม่จำเป็นต้องเป็นโครงสร้างฐานข้อมูลที่สมบูรณ์แบบ แต่เราสามารถทำอะไรบางอย่างออกมาจากสิ่งนี้และรับทราบว่าคุณกำลังมองหาอะไร” ทำอย่างใดอย่างหนึ่งในวิธีการทางเลือกเหล่านี้เพื่อให้นักธุรกิจมุ่งเน้นไปที่สิ่งที่พวกเขาต้องการทำให้รู้สึก? มีทางเลือกอื่นที่คุณเห็นในการกระทำหรือไม่

19
มีเหตุผลอื่นนอกเหนือจากงบประมาณในการจ้างโปรแกรมเมอร์“ ระดับเริ่มต้น” หรือไม่? [ปิด]
มีเหตุผลอื่นนอกเหนือจากงบประมาณในการจ้างโปรแกรมเมอร์ "ระดับเริ่มต้น" หรือไม่?

13
เป็น IDE ขึ้นอยู่กับ มันจะทำร้ายฉันได้อย่างไร
ฉันเป็นนักพัฒนาที่ขึ้นกับ IDE (NetBeans และ Eclipse เพราะฉันเป็น JAVA dev) ฉันสามารถรหัสได้อย่างถูกต้องถ้าฉันมี IDE ฉันสามารถพึ่งพาได้มากสำหรับการพัฒนาการดีบักและการปรับใช้ แต่ถ้าไม่มี IDE ฉันจะไม่ทำอะไรเลย สามารถเขียนรหัสโปรแกรม Hello World อย่างง่ายหรือการจัดเรียง UI แบบง่าย ๆ แต่ฉันต้องการ IDE เพื่อทำสิ่งที่ซับซ้อนหรือการเข้ารหัสสิ่งที่ง่ายกว่า คุณคิดว่ามันเป็นอันตรายต่อฉันหรือไม่? โปรแกรมเมอร์บางคนที่มีประสบการณ์การพัฒนามากกว่า 6 ปีเชื่ออย่างยิ่งว่าอาจเป็นอันตรายได้ แต่ฉันคิดว่าถ้าฉันสามารถทำสิ่งที่ซับซ้อนได้อย่างรวดเร็วและถูกต้องทำไมฉันควรติดแผ่นจดบันทึกและเครื่องมือบรรทัดคำสั่งเพื่อทำงานที่ต้องใช้เวลา IDE มีปุ่มคลิกเพื่อทำสิ่งนี้?
27 ide  coding 

18
หยุดการอภิปรายทางเทคนิคที่ไม่มีที่สิ้นสุดและตัดสินใจ
ฉันมักจะเจอคนที่ชอบที่จะตบมือสำหรับทุกวัยมากกว่า "สิ่งทางเทคนิค" ที่เล็กที่สุด อย่าเข้าใจฉันผิดฉันเป็นโปรแกรมเมอร์ที่เกินบรรยายผู้ที่รักในสิ่งที่ฉันทำ แต่คุณรู้จักประเภทของการสนทนา Mac ดีกว่า Windows มาก อย่าใช้สำหรับแต่ละวงใช้ห่วงขณะ อย่าซื้อพีซีที่ใช้ Intel ใช้โปรเซสเซอร์ AMD เราควรใช้คอนเทนเนอร์ IoC หนึ่งอันเหนือภาชนะอื่น "สิ่งต่าง ๆ " ทั้งหมดเหล่านี้มีข้อดีและข้อเสียที่ถูกต้องสำหรับทั้งสองฝ่ายและคุณจะไม่ได้รับคำตอบ "ถูกต้อง" และบุคคลนั้นจะไม่ยอมรับจุดนั้น (แน่นอนว่าจะมีบางที่ที่มีคำตอบอาจ :) คำถามของฉัน (ฉันไปถึงที่นั่น !!) คือ: ในทีมซอฟต์แวร์คุณตัดการสนทนาที่ยาวนานเหล่านี้อย่างไรโดยไม่ยับยั้งนวัตกรรมเพื่อให้การตัดสินใจสามารถทำได้และคุณสามารถแก้ไขปัญหาทางธุรกิจที่แท้จริงได้

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