คำถามติดแท็ก concepts

การเขียนโปรแกรมเชิงแนวคิดเป็นกระบวนทัศน์การเขียนโปรแกรมโดยเน้นที่แนวคิดที่อาศัยอยู่ในหัวของโปรแกรมเมอร์แปลเป็นตัวแทนที่พบในโค้ดสเปซ

2
โรงเรียน TDD ในลอนดอนและชิคาโกมีอะไรบ้าง?
ฉันเคยได้ยินเกี่ยวกับสไตล์ลอนดอนเทียบกับสไตล์ชิคาโก (บางครั้งเรียกว่าสไตล์ดีทรอยต์) ของการทดสอบการพัฒนาขับเคลื่อน (TDD) การประชุมเชิงปฏิบัติการของกลุ่มผู้ใช้ Utah Extreme Programming: สไตล์การโต้ตอบ TDD เรียกอีกอย่างว่าสไตล์ mockistหรือสไตล์ลอนดอนหลังจากคลับ Extreme Tuesday ของกรุงลอนดอนซึ่งเป็นที่นิยม มันมักจะแตกต่างกับดีทรอยต์สไตล์หรือคลาสสิก TDD ซึ่งเป็นรัฐมากขึ้น การประชุมเชิงปฏิบัติการ Jason Gorman : การประชุมเชิงปฏิบัติการครอบคลุมทั้งโรงเรียนชิคาโกของ TDD (รัฐตามการทดสอบพฤติกรรมและรูปสามเหลี่ยม) และโรงเรียนในกรุงลอนดอนซึ่งมุ่งเน้นเพิ่มเติมเกี่ยวกับการทดสอบการทำงานร่วมกันเยาะเย้ยและ TDD แบบ end-to-end โดยเน้นเฉพาะในการออกแบบความรับผิดชอบขับเคลื่อนและบอกว่าอย่าถามวิธีการOOเมื่อเร็ว ๆ นี้ได้รับความนิยมอีกครั้งโดย Steve Freeman's และ Nat Pryce's Software ที่มุ่งเน้นการเติบโตเชิงวัตถุที่แนะนำโดยการทดสอบหนังสือ โพสต์Classic TDD หรือ "London School"? โดย Jason Gorman มีประโยชน์ แต่ตัวอย่างของเขาทำให้ฉันสับสนเพราะเขาใช้สองตัวอย่างที่แตกต่างกันแทนที่จะเป็นตัวอย่างหนึ่งที่มีทั้งสองวิธี ความแตกต่างคืออะไร? …
88 tdd  concepts 

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

6
กฎหมายของ Jamie Zawinski หมายถึงอะไร
ฉันต้องการคำอธิบายที่ถูกต้องเกี่ยวกับกฎหมายการห่อซอฟท์แวร์ของJamie Zawinski : ทุกโปรแกรมพยายามขยายจนกว่าจะสามารถอ่านจดหมายได้ โปรแกรมที่ไม่สามารถขยายได้จะถูกแทนที่ด้วยโปรแกรมที่สามารถทำได้
24 history  concepts 

9
เป็นเรื่องปกติ / ยอมรับได้ที่จะจดบันทึกความคิดอัลกอริธึมการตัดสินใจระหว่างการเข้ารหัสและการบำรุงรักษาหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา บางคนมีปัญหานี้ที่พวกเขาไม่สามารถคิดได้หากไม่มีคำพูด และการจดบันทึกความคิดและการตัดสินใจเป็นวิธีที่มีประสิทธิภาพที่สุดในการดำเนินการ ดังนั้น - เป็นเรื่องปกติและเป็นที่ยอมรับหรือไม่ที่ฉันจะเขียนความคิดและการตัดสินใจลงในไฟล์ Notepad ++ บางไฟล์ระหว่างการเข้ารหัส? บางครั้งควรเป็นที่ยอมรับได้เช่นเมื่อสร้างเอกสารทางเทคนิคขึ้นใหม่หรือให้เหตุผลเกี่ยวกับอัลกอริธึมที่ซับซ้อนมากขึ้น แต่บางครั้งมันอาจแปลกเช่นเมื่อฉันกำลังพิจารณาตัวเลือกการออกแบบและพยายามตัดสิน ผลกระทบของการฝึกนี้ต่อผลผลิตไม่ชัดเจน จากด้านหนึ่ง - การใช้เหตุผลกับคำภายในอาจเร็วกว่าคำที่เขียน จากอีกด้านหนึ่ง - ปัญหาที่ซับซ้อนมากขึ้นจำเป็นต้องมีการเขียน นอกจากนี้หากใครมีตัวเลือกการออกแบบมากขึ้นความรู้สึกนั้นดีกว่าเมื่อมีการตัดสินใจเขียนดังนั้นมันจึงเพิ่มขวัญกำลังใจ

11
ข้อมูลซ่อนตัวอยู่มากกว่าการประชุมหรือไม่?
ใน Java, C # และภาษาที่มีการตรวจสอบอย่างมากและมีการพิมพ์แบบคงที่เราใช้ในการเขียนโค้ดดังนี้: public void m1() { ... } protected void m2() { ... } private void m2() { ... } void m2() { ... } ภาษาที่ตรวจสอบแบบไดนามิกบางภาษาไม่ได้ให้คำหลักเพื่อแสดงระดับของ "ความเป็นส่วนตัว" ของสมาชิกชั้นเรียนที่กำหนดและพึ่งพาวิธีการเข้ารหัสแทน Python เช่นคำนำหน้าสมาชิกส่วนตัวที่มีเครื่องหมายขีดล่าง: _m(self): pass อาจเป็นที่ถกเถียงกันอยู่ว่าการให้คำหลักดังกล่าวในภาษาที่ตรวจสอบแบบไดนามิกจะเพิ่มการใช้งานเพียงเล็กน้อยเนื่องจากมีการตรวจสอบที่รันไทม์เท่านั้น อย่างไรก็ตามฉันไม่พบเหตุผลที่ดีที่จะให้คำหลักเหล่านี้ในภาษาที่ผ่านการตรวจสอบแบบคงที่เช่นกัน ฉันพบว่าข้อกำหนดในการกรอกรหัสด้วยคำหลักที่ค่อนข้างละเอียดเช่นprotectedทั้งน่ารำคาญและเสียสมาธิ จนถึงตอนนี้ฉันยังไม่ได้อยู่ในสถานการณ์ที่ข้อผิดพลาดของคอมไพเลอร์ที่เกิดจากคำหลักเหล่านี้จะช่วยฉันจากข้อผิดพลาด ในทางตรงกันข้ามฉันอยู่ในสถานการณ์ที่การวางผิดพลาดprotectedทำให้ฉันไม่สามารถใช้ห้องสมุดได้ เมื่อคำนึงถึงสิ่งนี้คำถามของฉันคือ: ข้อมูลซ่อนตัวมากกว่าแบบแผนระหว่างโปรแกรมเมอร์ใช้เพื่อกำหนดว่าส่วนใดของส่วนต่อประสานที่เป็นทางการของคลาส? มันสามารถใช้เพื่อป้องกันสถานะลับของชั้นเรียนจากการถูกโจมตีหรือไม่? การสะท้อนกลับสามารถแทนที่กลไกนี้ได้หรือไม่? อะไรจะทำให้คุ้มค่าสำหรับคอมไพเลอร์ในการบังคับใช้การซ่อนข้อมูล

1
การเขียนโปรแกรม Erlang และ Go พร้อมกันความแตกต่างระหว่าง CSP และนักแสดง?
ฉันกำลังดูการเขียนโปรแกรมพร้อมกันในภาษาโปรแกรม Erlang และ Go ตามการค้นพบของฉันพวกเขาใช้โมเดลนักแสดงและ CSP ตามลำดับ แต่ฉันก็ยังสับสนกับ CSP และนักแสดงต่างกันอย่างไร มันแตกต่างทางทฤษฎีเพียงอย่างเดียว แต่เป็นแนวคิดเดียวกันหรือไม่

2
แนวคิดเรื่อง AOP อธิบายถึงหุ่นจำลอง
บางคนสามารถอธิบายแนวคิดของ AOP สำหรับหุ่นได้ที่จุดเชื่อม, จุดตัด, การทอ ฯลฯ ตัวอย่างเช่น: มุมมอง: การทำให้เป็นโมดูลของข้อกังวลที่ตัดข้ามหลายคลาส นั่นหมายความว่าอย่างไร?

3
แบบจำลองนักแสดงนำมาใช้อย่างไร
ฉันได้อ่านนิดหน่อยเกี่ยวกับนางแบบนักแสดง แต่ไม่เข้าใจวิธีใช้นักแสดงในสถานการณ์โลกแห่งความจริง - จะทำตัวแบบปัญหากับพวกเขาได้อย่างไร ใครช่วยอธิบายหน่อยได้ไหม? ตัวอย่างง่ายๆหรือลิงค์ไปยังตัวอย่างจะได้รับการชื่นชมมาก

2
IETF ต่างจาก W3C อย่างไร
ฉันติดตามองค์กรเหล่านี้ (สถาบันหน่วยงานหรืออะไรก็ตาม) มาเกือบ 3 เดือนแล้วและทั้งคู่อ้างว่าพวกเขากำลังพยายามทำให้อินเทอร์เน็ตดีขึ้น พวกเขากำลังสร้างเอกสารภายใต้ชื่อ RFC (สำหรับ IETF) และคำแนะนำ (สำหรับ W3C) เพื่อเป็นแนวทางให้ผู้อื่น องค์กรอื่นที่ชื่อว่า WHATWG ได้เริ่มต้นเส้นทางใหม่ในการพัฒนาเว็บและชุมชนอื่นดำเนินการภายใต้ชื่อ Internet Society ฉันไม่รู้ทำไมองค์กรจำนวนมาก ฉันหมายถึงพวกเขาไม่สามารถถูกรวมเข้าด้วยกันได้ใช่ไหม พวกเขาแตกต่างกันจริง ๆ ? อย่างไร?

4
Bootstrapper ในการเขียนโปรแกรมคืออะไร?
บางครั้งฉันเห็นคำว่า "Bootstrapper" ฉันเห็นมันครั้งสุดท้ายเมื่อสร้างแบบฝึกหัดการเรียนรู้สำหรับปริซึม ฉันสะดุดกับUnityBootstrapperชั้นเรียน คำถามของฉันคือ: เมื่อใดที่คุณจะเรียกชั้นเรียนว่า "Bootstrapper" ทำไม? พูดเกี่ยวกับชั้นเรียนว่าอย่างไร?

5
การจัดเก็บข้อมูลเมตาในข้อความในโครงสร้างข้อมูลที่ไม่ต่อเนื่อง
ฉันกำลังพัฒนาโปรแกรมที่จะต้องมีการจัดเก็บแบบอินไลน์ , intextเมตาดาต้า สิ่งที่ฉันหมายถึงคือสิ่งต่อไปนี้สมมติว่าเรามีข้อความยาวและเราต้องการเก็บข้อมูลเมตาบางส่วนที่เชื่อมต่อกับคำเฉพาะหรือประโยคของข้อความ อะไรจะเป็นวิธีที่ดีที่สุดในการจัดเก็บข้อมูลนี้ ความคิดแรกของฉันคือการรวมไว้ในข้อความMarkdownไวยากรณ์บางอย่างที่จะถูกแยกวิเคราะห์ในการดึง บางสิ่งที่มีลักษณะเช่นนี้: Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam __nonummy nibh__[@note this sounds really funny latin] euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. นี่จะแนะนำปัญหาสองประการที่ฉันสามารถนึกได้: สิ่งหนึ่งที่ค่อนข้างเล็กคือถ้าไวยากรณ์ดังกล่าวเกิดขึ้นโดยบังเอิญในข้อความดังกล่าวมันสามารถยุ่งกับการแยกวิเคราะห์ สิ่งที่สำคัญที่สุดคือสิ่งนี้จะไม่เก็บข้อมูลเมตานี้แยกจากข้อความ ฉันต้องการให้มีโครงสร้างข้อมูลแบบแยกเพื่อเก็บข้อมูลนี้เช่นตารางฐานข้อมูลที่แตกต่างกันซึ่งข้อมูลเมตาเหล่านี้ถูกเก็บไว้เพื่อให้ฉันสามารถใช้พวกเขาในรูปแบบที่ไม่ต่อเนื่อง: การสืบค้นสถิติการเรียงลำดับและอื่น ๆ แก้ไข:เนื่องจากผู้ตอบลบคำตอบของเขาฉันคิดว่ามันอาจเป็นการดีที่จะเพิ่มข้อเสนอแนะของเขาที่นี่เนื่องจากเป็นข้อเสนอแนะที่ใช้การได้ซึ่งขยายได้ในแนวคิดแรกนี้ โปสเตอร์แนะนำให้ใช้ไวยากรณ์ที่คล้ายกัน แต่จะเชื่อมโยงข้อมูลเมตาไปPRIMARY KEYของmetadataตารางฐานข้อมูล สิ่งที่มีลักษณะเช่นนี้: Lorem ipsum dolor sit amet, consectetuer …


6
อะไรคือแนวคิดการเขียนโปรแกรมที่ฉันควรจะมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับงานฝีมือของฉัน (การเขียนโปรแกรม)? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ตามลำดับความสำคัญหากเป็นไปได้ที่จะทำเช่นนั้นและอาจไม่ใช่สิ่งที่เป็นรากฐานที่สำคัญที่สุดในการรู้วิธีการเขียนโปรแกรม อัลกอริทึมการทำซ้ำการเรียกซ้ำ ฯลฯ ? โปรดทราบว่าที่ฉันใส่ ฯลฯ เป็นที่ที่คำถามของฉันอยู่ ฉันเพิ่งอ่านโพสต์ทางอินเทอร์เน็ตที่เขียนว่า 9 จาก 10 โปรแกรมเมอร์ไม่สามารถอ้าปากค้างโปรแกรมได้! http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html ฉันต้องการที่จะมีความรู้อย่างลึกซึ้งเกี่ยวกับสิ่งที่ฉันเป็นจริงพยายามที่จะบรรลุเมื่อการเขียนโปรแกรมและความเข้าใจที่ละเอียดถี่ถ้วนของเครื่องมือพื้นฐานในการกำจัดของฉัน โดยทั่วไปฉันต้องการที่จะสามารถวาดด้วยทุกสีของลม

4
แนวคิดการค้นหาฐานข้อมูลคลุมเครือ
ฉันคิดเกี่ยวกับเรื่องนี้และพยายามหาวิธีแก้ปัญหาเกี่ยวกับวิธีการค้นหาฐานข้อมูลที่คลุมเครือหากผู้ใช้พิมพ์ตัวอย่างการสะกดผิด มีปัญหาอะไรที่จ้องมองด้วยตรรกะที่อยู่เบื้องหลังสิ่งนี้? มันจะทำงานและเคยทำมาก่อนหรือไม่ ตารางเราต้องการค้นหา: **tblArticles** Body - Soundex_Body - CharacterCoded_Body ดังนั้นเราจึงจัดเก็บเนื้อหาข้อความดิบสำหรับการแสดงผลทางกายภาพ อีก 2 คอลัมน์ใช้สำหรับการค้นหาซึ่งคำนวณล่วงหน้าด้วยวิธีต่อไปนี้: Soundex ร่างกายแบ่งออกเป็นคำพูดและแปลเป็นเวอร์ชั่นซาวด์ IE เนื้อหาที่ได้อาจเป็นดังนี้: H252 B54 C23 E33... etc ดังนั้นบางคนอาจเข้าสู่ 'dinosore' และเนื้อหาของบทความอ่านว่า 'ไดโนเสาร์' สิ่งเหล่านี้ทั้งคู่ประเมินเป็น 26 บาท จากนั้นเราจะเรียกใช้ LIKE บนค่า soundex ของข้อความค้นหา รหัสตัวละคร รับการทำแผนที่ตัวละครที่แมปตัวอักษรกับตัวเลขสำคัญ IE: h = 2 e = 3 l = 5 o = 7 …

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

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