ชื่อตัวแปรมีผลต่อประสิทธิภาพของเว็บไซต์หรือไม่ ฉันรู้ว่าสิ่งนี้จะเป็นตัวเลขที่ต่ำมาก แต่ก็ยังมีใครที่สามารถให้เหตุผลที่ไม่เลือกชื่อตัวแปรแบบยาวในแง่ของประสิทธิภาพได้ใช่ไหม
ชื่อตัวแปรมีผลต่อประสิทธิภาพของเว็บไซต์หรือไม่ ฉันรู้ว่าสิ่งนี้จะเป็นตัวเลขที่ต่ำมาก แต่ก็ยังมีใครที่สามารถให้เหตุผลที่ไม่เลือกชื่อตัวแปรแบบยาวในแง่ของประสิทธิภาพได้ใช่ไหม
คำตอบ:
ผู้ใดสามารถให้เหตุผลที่ไม่เลือกชื่อตัวแปรแบบยาวในด้านของประสิทธิภาพได้
ไมเคิลปกคลุมคำตอบ (เช่นไม่มี) แต่ชื่อตัวแปรทำส่งผลกระทบต่อประสิทธิภาพการทำงานของโปรแกรมเมอร์ หากคุณนำนักพัฒนาใหม่หรือคนที่ไม่คุ้นเคยกับโค้ดมาใช้การมีชื่อตัวแปรที่ยาวและ / หรือสับสนอาจทำให้เสียสมาธิและทำให้กระบวนการเข้าใจช้าลง
โดยทั่วไปแล้วคุณต้องการใช้ชื่อตัวแปรสั้น ๆ ที่สื่อความหมายเพราะอ่านง่ายขึ้น ลองนึกภาพถ้าคุณไม่ต้องสนใจรหัสของคุณเป็นเวลา 10 ปีแล้วเข้าใจทุกอย่างอีกครั้ง คุณต้องการอ่าน "getInput" หรือ "getInputFromUserWhoInputsStringOrElseInformReaderOfError" หรือไม่? (แน่นอนเกินไป: P)
อย่างไรก็ตามมีหลายครั้งที่การใช้ชื่อที่ยาวกว่าเล็กน้อยจะเป็นประโยชน์ ตัวอย่างเช่น getBirthdayInput () จะมีความหมายมากกว่า getInput () คุณต้องการทำให้จุดง่ายขึ้น แต่การขยายใหญ่เกินไปอาจเป็นปัญหาได้เช่นกัน
ไม่มันจะไม่ โดยทั่วไปเมื่อโค้ดถูกคอมไพล์ชื่อตัวแปรจะถูกแทนที่ด้วยที่อยู่หน่วยความจำที่พวกเขาอ้างถึง คอมพิวเตอร์ไม่รู้อะไรเกี่ยวกับชื่อตัวแปร พวกเขาต้องการทราบว่าเก็บค่าไว้ที่ไหน
ตัวแปรคือสัญลักษณ์ไม่มีอะไรเพิ่มเติม พวกเขาแทนที่ค่าฐานสิบหกด้วยชื่อเพื่อให้โปรแกรมเมอร์มีเวลาเข้าใจง่ายขึ้นว่าพวกเขากำลังทำอะไร ดังนั้นจะไม่มีการเพิ่มประสิทธิภาพโดยเลือกชื่อตัวแปรที่สั้นกว่า
ที่กล่าวว่าคุณอาจได้รับ miniscule (และฉันกำลังพูดด้วยกล้องจุลทรรศน์) ในการรวบรวมเวลาและการตีความ JIT ครั้งแรก แต่นั่นเป็นเพียงเพราะ parser ใช้เวลาน้อยลงในการอ่านชื่อตัวแปร นี่เป็นค่าใช้จ่ายครั้งเดียวและไม่มีนัยสำคัญทางสถิติเมื่อกังวลเกี่ยวกับประสิทธิภาพ
นอกจากว่าคุณกำลังใช้งานแคชรหัส (เรียกอีกอย่างว่า "ตัวเร่ง PHP") ก็มีผลกระทบแน่นอน แต่ผลกระทบนั้นอยู่ในระดับต่ำจนสามารถละเลยได้ หากคุณใช้แคชรหัสออปชั่นจะไม่มีผลกระทบใด ๆ
แม้ว่า Michael จะถูกต้องสำหรับการเขียนโปรแกรมประยุกต์คำถามของคุณอ้างถึงการพัฒนาเว็บไซต์ด้วย PHP ซึ่งเป็นภาษาที่ตีความ ในกรณีเช่นนี้รหัสจะต้องอ่านจากไฟล์จากนั้นตีความ ในกรณีนี้ชื่อตัวแปรที่ยาวขึ้นจะใช้เวลาในการโหลดและแยกวิเคราะห์นานกว่า
ประสิทธิภาพที่ได้รับจากการทำเช่นนั้นจะไม่มีนัยสำคัญและอาจอยู่ในขอบเขตของเสี้ยววินาทีสำหรับสคริปต์ทั้งหมด คุณสามารถลองใช้สคริปต์ตัวอย่างได้ตลอดเวลาและใช้วิธีการกำหนดเวลาเช่นรายละเอียดที่http://www.developerfusion.com/code/2058/determine-execution-time-in-php/แต่นี่อาจจะไม่ เวลาเริ่มต้นจนกระทั่งหลังจากอ่านไฟล์นอกจากนี้เวลาดำเนินการระหว่างการลองซ้ำจะแตกต่างกันมากไปกว่าความแตกต่างระหว่างความยาวชื่อตัวแปรดังนั้นคุณจะต้องทำการลองใหม่จำนวนมากและใช้ค่าเฉลี่ยของแต่ละครั้งก่อนจึงจะสามารถ รับค่าเฉลี่ยจากระยะไกลที่มีความหมาย
เมื่อ BlackJack ชี้ให้เห็นชื่อที่ยาวขึ้นอาจเป็นเรื่องยากที่จะเข้าใจและใช้ความพยายามอย่างมากในการพิมพ์ (และมีแนวโน้มที่จะพิมพ์ผิด) แม้ว่าอาจจะมีประสิทธิภาพเพิ่มขึ้นเล็กน้อย แต่ก็ไม่ได้แสดงให้เห็นถึงความยุ่งยากที่เพิ่มขึ้นสำหรับโปรแกรมเมอร์ ดังนั้นควรเลือกชื่อตัวแปรที่กระชับกระชับและเข้าใจง่าย
ดังนั้นในระยะสั้นไม่ต้องกังวลเกี่ยวกับชื่อความยาวของตัวแปร แต่ให้จดจ่อกับการเขียนโค้ดที่สะอาดและมีความหมายแทน
อาจจะ :
โดยทั่วไปแล้วรหัสเซิร์ฟเวอร์จะถูกรวบรวมและความยาวชื่อตัวแปรจะไม่ส่งผลกระทบต่อเหตุผลดังกล่าว อย่างไรก็ตามหากใช้ชื่อตัวแปรเพื่อสร้างมาร์กอัปการดำเนินงานสตริงต่างๆ เนื่องจากการตอบกลับ HTTP (มีข้อมูลมาร์กอัป / ส่งคืน json / ส่งคืน) มีขนาดใหญ่กว่าจึงใช้เวลานานขึ้นเล็กน้อยถึงแม้ว่าความแตกต่างจะเล็กน้อย หาก JavaScript ไม่ย่อขนาดมันจะเป็นไฟล์ที่มีขนาดใหญ่กว่าใช้เวลาเดินทางนานกว่าถึงลูกค้า
นอกเหนือจากการลดขนาดไฟล์ JavaScript ความพยายามเพิ่มประสิทธิภาพใด ๆ สำหรับเว็บแอปพลิเคชัน / เว็บไซต์จะใช้เวลาในด้านอื่น ๆ ได้ดีขึ้น
ใช่มันจะ แต่ไม่ใช่ในแง่ที่คุณกำลังคิด
ด้วยชื่อตัวแปรที่ไม่ดีนักพัฒนาจะสับสนได้ง่ายในซอร์สโค้ด มันยากที่จะอ่านและเข้าใจยาก
ในท้ายที่สุดซอร์สโค้ดจะยากต่อการบำรุงรักษาและแทบจะเป็นไปไม่ได้เลยที่จะพัฒนาขึ้น นี้จะนำไปอย่างหลีกเลี่ยงไม่ค่าใช้จ่ายในการบำรุงรักษาที่สูงกว่าค่าใช้จ่ายที่สูงขึ้นการพัฒนาข้อบกพร่องมากขึ้นและการแสดงที่ยากจนกว่า
ชื่อตัวแปรจะไม่มีอิทธิพลอย่างแน่นอนในเวลาใช้งานจริงและไม่ได้รับการรวบรวมทั้งหมดในเวลารวบรวม แต่ชื่อที่ไม่ดีจะนำไปสู่ประสิทธิภาพที่ไม่ดีอย่างหลีกเลี่ยงไม่ได้เพราะไม่มีใครเข้าใจโค้ดและมันก็กลายเป็นแฮ็คที่ซ้อนทับกันทำให้สิ่งต่าง ๆ แย่ลงทุกครั้ง
อ่านสิ่งเหล่านี้เพื่อทราบเกี่ยวกับชื่อตัวแปรที่ดี: http://tottinge.blogsome.com/meaningfulnames
โปรดทราบว่าหากคุณรู้สึกว่าต้องการชื่อตัวแปรที่ยาวมากนั่นหมายความว่าโค้ดของคุณมีโครงสร้างที่ไม่ดี ชื่อตัวแปรจะแสดงในบริบทเสมอ: เนมสเปซ, ชื่อคลาส, ชื่อไฟล์, โฟลเดอร์, ชื่อฟังก์ชั่น ฯลฯ ดังนั้นหากชื่อต้องยาวอย่างชัดเจนนั่นหมายความว่าสิ่งที่คุณพยายามตั้งชื่อDOESN ' T อยู่ที่นี่ ในกรณีนี้ลองนึกถึงการวางรหัสนี้ในสถานที่ที่เหมาะสมหรือสร้างสถานที่นั้นถ้ายังไม่มี
เห็นได้ชัดว่าคำตอบคือใช่เกี่ยวกับ php
คำตอบที่บอกว่ามันจะไม่สร้างความแตกต่างไม่จำเป็นต้องถูกต้อง ตัวอย่างเช่นฉันมีสคริปต์ php ขนาดเล็กเพียงไม่กี่บรรทัด แต่จะต้องวนซ้ำประมาณ 1,950,000 ครั้งก่อนที่จะเสร็จสิ้นการทำงานดังนั้นแม้ว่าการทำงานของสคริปต์ครั้งเดียวอาจไม่ถูกสังเกตเห็นเศษส่วนของวินาทีเพิ่มขึ้นอย่างมากเมื่อ วนซ้ำหลายครั้ง
คุณสามารถใช้ชื่อย่อที่ทำให้โค้ดของคุณอ่านง่ายขึ้น คุณจะบันทึกหนึ่งหรือสองวินาที แต่เนื่องจากรหัสนั้นอ่านได้น้อยลงจึงเป็นการยากที่จะปรับปรุงรหัสและทำให้เร็วขึ้น ดังนั้นรหัสที่ไม่สามารถแก้ไขได้และไม่มีชื่อพิสูจน์ได้ของคุณจะจบลงด้วยการทำงานช้าลงอย่างมากในที่สุด
ดังนั้นเพื่อตอบคำถามของคุณ ("มีผลกับประสิทธิภาพ"): ใช่ แต่ไม่ใช่ในแบบที่คุณชอบ