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

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

7
สัญกรณ์ฮังการีเป็นวิธีแก้ปัญหาสำหรับภาษาที่มีการพิมพ์คงที่ไม่เพียงพอที่แสดงออก? [ปิด]
ในบทความของ Eric Lippert เกิดอะไรขึ้นกับสัญลักษณ์ของฮังการี? เขากล่าวว่าจุดประสงค์ของสัญกรณ์ฮังการี (ประเภทที่ดี) คือการ ขยายแนวคิดของ "ประเภท" เพื่อรวมข้อมูลเชิงความหมายนอกเหนือจากข้อมูลการเป็นตัวแทนจัดเก็บข้อมูล ตัวอย่างง่ายๆจะนำหน้าตัวแปรที่แสดงถึงพิกัด X ด้วย "x" และตัวแปรที่แทนพิกัด Y ด้วย "y" โดยไม่คำนึงว่าตัวแปรเหล่านั้นเป็นจำนวนเต็มหรือลอยหรืออะไรก็ตามดังนั้นเมื่อคุณเขียนโดยไม่ตั้งใจxFoo + yBarรหัสดูผิดอย่างชัดเจน แต่ฉันได้อ่านเกี่ยวกับระบบประเภทของ Haskell ด้วยและดูเหมือนว่าใน Haskell เราสามารถทำสิ่งเดียวกันให้สำเร็จได้ (เช่น "ขยายแนวคิดประเภทที่จะครอบคลุมข้อมูลความหมาย") โดยใช้ประเภทจริงที่คอมไพเลอร์จะตรวจสอบคุณ ดังนั้นในตัวอย่างข้างต้นxFoo + yBarใน Haskell จะล้มเหลวในการรวบรวมถ้าคุณออกแบบโปรแกรมของคุณอย่างถูกต้องเนื่องจากมันถูกประกาศว่าเป็นชนิดที่เข้ากันไม่ได้ ดูเหมือนว่าระบบประเภทของ Haskell สนับสนุนการตรวจสอบเวลาแบบคอมไพล์ได้อย่างมีประสิทธิภาพเทียบเท่ากับสัญลักษณ์ของฮังการี ดังนั้น Hungarian Notation เป็นเพียงตัวช่วยแบนด์สำหรับภาษาโปรแกรมที่ระบบประเภทไม่สามารถเข้ารหัสข้อมูลความหมายได้หรือไม่? สัญกรณ์ฮังการีหรือเสนอบางสิ่งบางอย่างนอกเหนือจากสิ่งที่ระบบชนิดคงที่เช่น Haskell สามารถนำเสนอ? (แน่นอนฉันกำลังใช้ Haskell เป็นตัวอย่างฉันแน่ใจว่ามีภาษาอื่นที่มีระบบการพิมพ์ที่มีความหมายคล้ายกัน (rich? strong?) แม้ว่าฉันจะไม่ได้เจอก็ตาม) …

8
อะไรคือสิ่งที่ดึงดูดความสนใจของชาวฮังการี [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ในสิ่งที่ตั้งชื่อแนวทางใดที่คุณทำตาม? ผู้เขียนพูดว่า: นอกจากนี้ฉันชอบเขียนโค้ดโดยใช้สัญกรณ์ฮังการีจาก Charles Simonyi ฉันทำงานกับโปรแกรมเมอร์หลายคนที่ยังคงชอบใช้ภาษาฮังการีซึ่งส่วนใหญ่เป็นรสชาติของ Petzold / Systems Hungarian dwLength = strlen(lpszName)คิด ฉันได้อ่านการสร้างรหัสผิดดูผิดและฉันเข้าใจเหตุผลของ Apps Hungarian ซึ่งข้อมูลประเภทโดเมนรวมอยู่ในชื่อตัวแปร แต่ฉันไม่เข้าใจค่าในการจับคู่ประเภทคอมไพเลอร์กับชื่อ ทำไมโปรแกรมเมอร์ยังคงใช้รูปแบบของสัญกรณ์นี้อยู่? มันเป็นเพียงความเฉื่อย มีประโยชน์ใดบ้างที่เกินความสามารถในการอ่านที่ลดลง? ผู้คนเพิ่งเรียนรู้ที่จะเพิกเฉยต่อนักตกแต่งเมื่ออ่านรหัสและถ้าเป็นเช่นนั้นพวกเขาจะเพิ่มมูลค่าได้อย่างไร? แก้ไข: คำตอบจำนวนมากกำลังอธิบายประวัติหรือเหตุใดจึงไม่มีความเกี่ยวข้องอีกต่อไปซึ่งทั้งสองข้อนี้ครอบคลุมอยู่ในบทความที่ฉันอ้างถึง ฉันอยากได้ยินจากใครที่ยังใช้มันอยู่ ทำไมคุณใช้มัน มันอยู่ในมาตรฐานของคุณหรือไม่ คุณจะใช้มันหรือไม่ถ้าไม่จำเป็น? คุณจะใช้มันในโครงการใหม่หรือไม่? คุณเห็นว่าอะไรคือข้อดี?

12
คำนำหน้าประเภทและขอบเขตมีประโยชน์หรือไม่
เมื่อเร็ว ๆ นี้เริ่มงานแรกของฉันในฐานะนักพัฒนาซอฟต์แวร์ฉันถูกโยนลงมาเล็กน้อยเพื่อบอกว่าฉันไม่ต้องทำตามอนุสัญญาการตั้งชื่อใด ๆ ในรหัสของฉัน รหัสที่เขียนโดยกลุ่มที่ทำงานในโครงการอื่น ๆ โครงการขนาดใหญ่ตามอนุสัญญาการตั้งชื่อ แต่เนื่องจากฉันถูกนำเข้ามาเขียนแอปพลิเคชั่นใหม่สแตนด์อะโลนความรู้สึกคือว่ามันไม่สำคัญเลย มันเป็นความกังวลครั้งสุดท้ายของฉันดังนั้นฉันแค่ทำตามแบบแผนเดิมที่มีอยู่แล้วก็วิ่งไปด้วย int nTickCount bool bConnected object[] m_aItems fSum += fWeight * fValue class cManager enum etSystemStates etSystemStates eState cManager.cs แต่มันคุ้มค่าจริงหรือ ฉันคิดว่ามันยากที่จะตัดสินผลกระทบสุทธิว่าการทำตามแบบแผนการตั้งชื่อแบบนี้มีความเข้าใจและการตรวจจับข้อผิดพลาด แต่จากการมองเห็นมันก็ดูน่าเกลียด นอกจากนี้การมีทุกคลาสและไฟล์ทั้งหมดในโครงการที่เรียกว่า cSomething ดูเหมือนว่าจะไม่ค่อยสวย ฉันไม่ได้อยู่ภายใต้ภาพลวงตาว่าเป็นเรื่องใหญ่ระยะไกลเมื่อเปรียบเทียบกับสิ่งที่สร้างความแตกต่างอย่างชัดเจนเช่นอัลกอริธึมและสถาปัตยกรรมที่คุณใช้ แต่การประชุมใด ๆ ที่มีผลต่อรหัสทุกบรรทัดที่ฉันเขียนดูเหมือนว่าคุ้มค่า คุณคิดว่ารูปแบบการตั้งชื่อที่หรูหราและมีประสิทธิภาพที่สุดคืออะไรหากจำเป็นต้องใช้เลย? มันแสดงถึงประเภทและ / หรือขอบเขตหรือไม่?

3
การดิ้นรนเพื่อไม่ใช้สัญกรณ์ฮังการี
ผมเคยเห็นการขัดแย้งและการต่อต้านระบบฮังการี เป็นเวลาหลายปีที่ฉันได้ทำงานในโครงการแบบดั้งเดิมที่ใช้ระบบนี้โดยการตั้งชื่อตัวแปรทุกตัวทำงานด้วยคำนำหน้าของประเภทตัวแปรเช่น (strName, intAge, btnSubmit ฯลฯ ) (ฉันรู้ว่าคำนำหน้าแอพภาษาฮังการีต้นฉบับตามประเภท ตัวแปรไม่ใช่ชนิด) ฉันต้องการให้โครงการต่อไปของฉันละทิ้งไปอย่างสมบูรณ์ แต่ฉันคิดว่ามันยากกว่าที่จะบอกชื่อของสิ่งที่คล้ายกันโดยไม่ต้องใช้มัน ให้บอกว่าฉันมีรูปแบบเว็บสำหรับรวบรวมที่อยู่อีเมลและเก็บไว้ในตารางฐานข้อมูลและปุ่มที่เรียกใช้ฟังก์ชันที่บันทึกที่อยู่ลงในฐานข้อมูล หากฉันใช้สัญกรณ์สไตล์ฮังการีผมอาจจะเรียกกล่องtxtEmailปุ่มและความคุ้มค่าที่มีอยู่ในช่องbtnEmail strEmailฉันอาจใช้ฟังก์ชันstoreEmail(strEmail)เพื่อเก็บอีเมล ฉันมีการประชุมที่ชัดเจนที่นี่มันชัดเจนว่าแต่ละตัวแปรคืออะไร อะไรจะเป็นการปฏิบัติที่ดีที่สุดสำหรับการตั้งชื่อตัวแปรเหล่านี้ โดยไม่ต้องหันไปใช้ระบบของฮังการี โดยไม่ทำให้นานเกินไปหรือทำให้สับสน และด้วยการประชุมที่ชัดเจนที่จะใช้ในโครงการทั้งหมดของฉัน
10 naming  hungarian 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.