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

ตัวแปรหรือสเกลาร์คือที่เก็บสินค้าที่จับคู่กับชื่อสัญลักษณ์ที่เกี่ยวข้อง (ตัวระบุ) ซึ่งมีปริมาณหรือข้อมูลที่รู้จักหรือไม่รู้จักบางอย่างที่เรียกว่าค่า

7
มันสมเหตุสมผลหรือไม่ที่จะสร้างบล็อกเพื่อลดขอบเขตของตัวแปร?
ฉันกำลังเขียนโปรแกรมใน Java ซึ่ง ณ จุดหนึ่งฉันต้องโหลดรหัสผ่านสำหรับที่เก็บคีย์ของฉัน เพื่อความสนุกฉันพยายามเก็บรหัสผ่านของฉันไว้ในจาวาให้สั้นที่สุดโดยทำสิ่งนี้: //Some code .... KeyManagerFactory keyManager = KeyManagerFactory.getInstance("SunX509"); Keystore keyStore = KeyStore.getInstance("JKS"); { char[] password = getPassword(); keyStore.load(new FileInputStream(keyStoreLocation), password); keyManager.init(keyStore, password); } ... //Some more code ตอนนี้ฉันรู้ว่าในกรณีนี้มันเป็นใบ้ มีสิ่งอื่น ๆ อีกมากมายที่ฉันสามารถทำได้ส่วนใหญ่จริง ๆ แล้วดีกว่า (ฉันไม่เคยใช้ตัวแปรเลย) อย่างไรก็ตามฉันสงสัยว่ามีกรณีที่การทำเช่นนี้ไม่ได้โง่ขนาดนั้น สิ่งเดียวที่ฉันคิดได้ก็คือถ้าคุณต้องการใช้ชื่อตัวแปรที่เหมือนกันอีกครั้งเช่นcountหรือtempแต่การตั้งชื่อที่ดีและวิธีการสั้น ๆ ทำให้มันไม่น่าเป็นไปได้ที่จะเป็นประโยชน์ มีกรณีที่ใช้บล็อกเพียงเพื่อลดขอบเขตตัวแปรที่เหมาะสมหรือไม่?
38 java  variables  scope 

6
การกำหนดประเภทข้อมูลตัวแปรอย่างชัดเจนเมื่อเทียบกับการใช้คำหลัก 'var' [ปิด]
ใน C # ฉันขอแนะนำให้ใช้คำหลัก var all-purpose สำหรับการประกาศตัวแปรทั้งหมดหรือไม่ ถ้าใช่ฉันต้องพูดถึงอักขระพิเศษเหล่านั้นสำหรับค่าตัวอักษรภายในการประกาศตัวแปรเช่น M สำหรับทศนิยมในคำสั่งต่อไปนี้: var myDecimal = 14.5M; ถ้ามันสร้างความแตกต่างฉันพยายามที่จะพัฒนาเว็บไซต์ด้วย C #

9
ทำไมตัวระบุไม่ควรเริ่มต้นด้วยตัวเลข
ภาษาการเขียนโปรแกรมส่วนใหญ่ดูเหมือนจะได้รับการออกแบบให้ไม่อนุญาตให้หนึ่งประกาศตัวระบุที่ขึ้นต้นด้วยตัวเลข ฉันแค่อยากรู้อยากเห็นเหตุผล ฉันค้นหาเว็บแล้ว แต่ไม่พบคำอธิบายที่น่าพอใจ
32 naming  variables 

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

17
คุณตั้งชื่อตัวแปรส่วนตัวใน C # ได้อย่างไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา แนวปฏิบัติที่ดีที่สุดคืออะไรหลักการจัดการการตั้งชื่อที่ยอมรับกันทั่วไปสำหรับตัวแปรส่วนตัวใน C # private int myInteger; private int MyInteger; private int mMyInteger; private int _myInteger; private int _MyInteger; ตัวเลือกอื่น ๆ ที่ลึกลับ คุณใช้อันไหนและเพราะอะไร (บริษัท ของฉันค่อนข้างใหม่สำหรับ C # และฉันต้องการเลือกวิธี "ยอมรับในอุตสาหกรรม" มากที่สุดเพื่อลองใช้มาตรฐานการเข้ารหัสของเรา)

9
เมื่อไรที่จะใช้ตัวแปรโกลบอล
ตกลงดังนั้นนี่เป็นคำถามสนับสนุนปีศาจจริงๆ เมื่อใดที่ตัวแปรทั่วโลกใช้ได้และถ้าไม่เคยคุณจะใช้เป็นทางเลือกอะไร? กรณีที่น่าสนใจสำหรับคำถามนี้ฟิลด์คลาสสแตติกสาธารณะแตกต่างจากโกลบอลอย่างไร
22 variables 

12
เหตุผลที่ใช้ตัวพิมพ์เล็กสำหรับคำแรกในตัวแปรโลคัล (เช่น employeeCount, firstName) คืออะไร
ฉันใช้การวิพากษ์วิจารณ์อย่างมากจากโปรแกรมเมอร์คนอื่น ๆ เนื่องจากฉันใช้ตัวเรือนที่เหมาะสมกับตัวแปรทั้งหมดของฉัน ยกตัวอย่างเช่นโปรแกรมเมอร์ของคุณโดยทั่วไปจะใช้employeeCountชื่อตัวแปร EmployeeCountแต่ฉันจะใช้ ฉันใช้ตัวเครื่องที่เหมาะสมสำหรับทุกอย่างไม่ว่าจะเป็นวิธีที่เป็นโมฆะวิธีคืนค่าตัวแปรคุณสมบัติหรือค่าคงที่ ฉันยังทำตามอนุสัญญานี้ใน Javascript สิ่งสุดท้ายที่ทำให้เกิดความสับสนวุ่นวายของคนจริงๆ เหตุผลทั่วไปที่กำหนดว่าทำไมฉันไม่ควรทำตามกรอบ "ที่ไม่ได้มาตรฐาน" นี้เป็นเพราะกรณีที่เหมาะสมควรถูกสงวนไว้สำหรับคุณสมบัติและวิธีการโมฆะ int employeeCount = getEmployeeCount()ตัวแปรท้องถิ่นและวิธีการที่ส่งกลับค่าควรมีคำแรกเป็นตัวพิมพ์เล็กเช่น อย่างไรก็ตามฉันไม่เข้าใจว่าทำไม เมื่อผมถามนี้ก็ดูเหมือนว่าฉันเพิ่งได้รับคำตอบโดยพลการของที่มาตรฐาน อะไรก็ตามที่คำตอบคือมันมักจะเดือดลงไปที่นั่นเป็นเพียงวิธีที่มันเป็นและฉันไม่ได้ถามมัน ฉันแค่ติดตามมัน . คำตอบโดยพลการไม่เคยดีพอสำหรับฉัน นับตั้งแต่วันแรกของการเขียนโปรแกรมแมโคร Excel 97 กับ Office IDE ฉันไม่เคยต้องการรูปแบบการเขียนเพื่อบอกฉันว่ามีบางสิ่งที่เป็นตัวแปรหรือคุณสมบัติในตัวเครื่องหรือไม่ นี่เป็นเพราะฉันมักจะใช้รูปแบบการตั้งชื่อที่ใช้งานง่ายมาก ตัวอย่างเช่นGetNuggetCount()แนะนำวิธีการที่จะไปที่ไหนสักแห่งและนับจำนวนนักเก็ตทั้งหมด SetNuggetCount(x)แนะนำว่าคุณกำลังกำหนดค่าใหม่ให้กับจำนวนนักเก็ต NuggetCountโดยตัวมันเองแนะนำคุณสมบัติหรือตัวแปรท้องถิ่นที่เป็นเพียงการเก็บค่า สำหรับคนสุดท้ายนั้นอาจถูกล่อลวงให้พูดว่า "อ้าฮ่า! นั่นคือคำถามทรัพย์สินหรือตัวแปร? เพื่อที่ฉันจะตอบด้วย "มันเป็นเรื่องสำคัญจริง ๆ ?" ดังนั้นนี่คือ tl; dr ;: อะไรคือวัตถุประสงค์เหตุผลเหตุผลที่ไม่มีเหตุผลในการใช้ตัวพิมพ์เล็กสำหรับคำแรกในตัวแปรหรือวิธีการส่งคืนของคุณ แก้ไข: สำหรับ MainMa แทนที่รหัสนี้ด้วยตัวอย่างรหัสแรกในคำตอบของคุณและดูว่าอาร์กิวเมนต์ของคุณดีขึ้นเพียงใด: public …

4
ทำไมเราต้องพูดถึงชนิดข้อมูลของตัวแปรใน C
โดยปกติใน C เราต้องบอกคอมพิวเตอร์ถึงชนิดของข้อมูลในการประกาศตัวแปร เช่นในโปรแกรมต่อไปนี้ฉันต้องการพิมพ์ผลรวมของตัวเลขทศนิยมสองตัว X และ Y #include<stdio.h> main() { float X=5.2; float Y=5.1; float Z; Z=Y+X; printf("%f",Z); } ฉันต้องบอกคอมไพเลอร์ถึงชนิดของตัวแปร X คอมไพเลอร์ไม่สามารถระบุประเภทของXตัวเองได้หรือไม่ ใช่มันสามารถทำได้ถ้าฉันทำสิ่งนี้: #define X 5.2 ตอนนี้ฉันสามารถเขียนโปรแกรมโดยไม่บอกคอมไพเลอร์Xว่าเป็น: #include<stdio.h> #define X 5.2 main() { float Y=5.1; float Z; Z=Y+X; printf("%f",Z); } ดังนั้นเราจะเห็นว่าภาษา C มีคุณสมบัติบางอย่างที่ใช้ซึ่งสามารถกำหนดประเภทของข้อมูลด้วยตัวเอง ในกรณีของฉันมันกำหนดว่าXเป็นประเภทลอย ทำไมเราต้องพูดถึงประเภทของข้อมูลเมื่อเราประกาศบางสิ่งใน main ()? ทำไมถึงไม่สามารถคอมไพเลอร์กำหนดชนิดข้อมูลของตัวแปรในตัวของมันเองเช่นเดียวกับในmain()#define

1
Dollar Sign Blues: Javascript และ PHP
ฉันโตขึ้นการเขียนโปรแกรม C ++ และ Java ที่ทุกอย่างปลอดภัยและสวยงาม คอมไพเลอร์ตรวจสอบให้แน่ใจเพื่อให้ฉันอยู่ในการตรวจสอบถ้าฉันหลงทาง แน่นอนว่าทุกคนทำ Perl ได้เล็กน้อยในวิทยาลัย แต่ฉันไม่ได้หายใจเข้า เด็ก ๆ ทุกวันนี้ทุกอย่างเกี่ยวกับ PHP ที่แบ็กเอนด์และจาวาสคริปต์ที่อยู่ข้างหน้า ในการพยายามเป็นสะโพกฉันทำเช่นเดียวกัน (สำหรับการพัฒนาเว็บ) ปัญหาที่ฉันยังคงทำงานต่อไปคือฉันเพิ่มเครื่องหมายดอลลาร์ ($) ต่อหน้าตัวแปรปกติใน Javascript และแน่นอนไม่มีใครพูดอะไรเลยเพราะนั่นคือไวยากรณ์ทางกฎหมายที่มักใช้กับวัตถุ jQuery มีเครื่องมือในการดีบักหรือกลอุบาย dev เพื่อจับสัญญาณดอลลาร์นี้หรือไม่? คุณมักจะทำผิดพลาดเหมือนกันและคุณจัดการกับอารมณ์อย่างไร? เครื่องมือ Chrome dev ไม่เห็นว่านี่เป็นข้อผิดพลาดของ Javascript เสมอไป ฉันใช้ PhpStorm และ Emacs เพื่อการพัฒนา แต่สิ่งเหล่านั้นไม่ได้ทำให้ฉันงี่เง่าแม้ว่าฉันคิดว่า Emacs ทำ แต่เลือกที่จะไม่บอกฉันเกี่ยวกับเรื่องนี้ หากคุณคิดว่าคำถามนี้ไร้สาระฉันคิดว่าคุณพูดถูก แต่เราอยู่ในโลกที่ตัวแปรมีเครื่องหมายดอลลาร์อยู่ข้างหน้ามัน ในโลกใบนี้ไม่มีอะไรไร้สาระ

3
“ สถานะ” หรือ“ สถานะ”? เมื่อใดที่ชื่อตัวแปรควรมีคำว่า "state" และเมื่อใดที่ชื่อตัวแปรควรมีคำว่า "สถานะ" แทน? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา การอ่านรหัสและการอภิปรายเกี่ยวกับรหัสฉันมักจะเห็นคำว่า "สถานะ" และ "สถานะ" ใช้แทนกันได้ แต่มีแนวโน้มต่อไปนี้: เมื่อตัวแปรมีค่าไว้เพื่อแสดงว่ามีบางสิ่งอยู่ในสถานะหนึ่งชื่อของตัวแปรนั้นมักจะไม่ประกอบด้วยคำว่า "สถานะ" หรือตัวย่อของตัวแปรนั้น อย่างไรก็ตามเมื่อค่าส่งคืนของฟังก์ชันทำหน้าที่เพื่อระบุสถานะบางอย่างเรามักจะเรียกค่านั้นว่า "รหัสสถานะ" และเมื่อค่านั้นถูกเก็บไว้ในตัวแปรตัวแปรนี้มักมีชื่อว่า "สถานะ" หรือบางอย่างที่คล้ายกัน การแยกนั้นเป็นสิ่งที่ดีฉันเดา แต่เมื่อตัวแปรดังกล่าวเป็นจริงและตัวเลือกจะต้องเลือกที่เกี่ยวข้องกับความซับซ้อนในทางที่ผิดของภาษาอังกฤษ (หรือภาษามนุษย์โดยทั่วไป) อะไรคือรหัสมาตรฐานหรือแบบแผนที่เด่นชัดเมื่อพูดถึงการแก้ปัญหาระหว่างทั้งสอง หรือควรหลีกเลี่ยงหนึ่งในสองอย่างนี้เสมอ? คำถาม english.stackexchangeนี้เกี่ยวข้องด้วยฉันคิดว่า

5
เหตุใดจึงมี * การประกาศ * ของข้อมูลและฟังก์ชั่นที่จำเป็นในภาษา C เมื่อคำจำกัดความถูกเขียนในตอนท้ายของซอร์สโค้ด?
พิจารณารหัส "C" ต่อไปนี้: #include<stdio.h> main() { printf("func:%d",Func_i()); } Func_i() { int i=3; return i; } Func_i()ถูกกำหนดในตอนท้ายของซอร์สโค้ดและไม่มีการประกาศให้ก่อนที่จะใช้main()มัน ในเวลามากเมื่อคอมไพเลอร์เห็นFunc_i()ในmain()มันออกมาของและพบว่าออกmain() Func_i()คอมไพเลอร์อย่างใดพบว่าค่าส่งกลับโดยและให้มันไปFunc_i() printf()ผมยังไม่ทราบว่าคอมไพเลอร์ไม่สามารถหาประเภทผลตอบแทนFunc_i()ของ มันโดยปกติจะใช้เวลา (คาดเดา?) ประเภทผลตอบแทนของการที่จะเป็นFunc_i() intนั่นคือถ้ารหัสfloat Func_i()นั้นคอมไพเลอร์จะให้ข้อผิดพลาด: ประเภทที่ขัดแย้งFunc_i()กัน จากการสนทนาข้างต้นเราจะเห็นว่า: Func_i()คอมไพเลอร์สามารถหาค่าที่ส่งกลับโดย หากคอมไพเลอร์สามารถค้นหาค่าที่ส่งคืนโดยFunc_i()ออกมาmain()และค้นหาซอร์สโค้ดเหตุใดจึงไม่พบประเภทของ Func_i () ซึ่งกล่าวถึง อย่างชัดเจน คอมไพเลอร์ต้องรู้ว่าFunc_i()เป็นประเภทลอย - นั่นเป็นสาเหตุที่ทำให้เกิดข้อผิดพลาดของประเภทที่ขัดแย้งกัน หากคอมไพเลอร์รู้ว่าFunc_iเป็นประเภทลอยตัวแล้วทำไมมันยังถือว่าFunc_i()เป็นประเภท int และให้ข้อผิดพลาดของประเภทที่ขัดแย้งกัน? ทำไมมันไม่ได้ทำให้มันกลายFunc_i()เป็นประเภทลอย ผมมีข้อสงสัยเช่นเดียวกันกับการประกาศตัวแปร พิจารณารหัส "C" ต่อไปนี้: #include<stdio.h> main() { /* [extern int Data_i;]--omitted …

4
จัดการกับตัวเลขจำนวนมากในภาษาที่ไม่สามารถ?
ฉันพยายามที่จะคิดเกี่ยวกับวิธีที่ฉันจะไปเกี่ยวกับการคำนวณในจำนวนมาก (เพื่อ infinitum - intergers ไม่ลอย) หากโครงสร้างภาษาไม่สามารถจัดการตัวเลขที่มีขนาดใหญ่กว่าค่าที่แน่นอน ฉันแน่ใจว่าฉันไม่ใช่คนแรกและคนสุดท้ายที่ถามคำถามนี้ แต่คำค้นหาที่ฉันใช้ไม่ได้ให้อัลกอริทึมแก่ฉันในการรับมือกับสถานการณ์เหล่านั้น คำแนะนำส่วนใหญ่จะเสนอการเปลี่ยนแปลงภาษาหรือการเปลี่ยนแปลงตัวแปรหรือพูดคุยเกี่ยวกับสิ่งที่ดูเหมือนจะไม่เกี่ยวข้องกับการค้นหาของฉัน ดังนั้นฉันต้องการไกด์เล็กน้อย ฉันจะร่างอัลกอริทึมแบบนี้: กำหนดความยาวสูงสุดของตัวแปรจำนวนเต็มสำหรับภาษา หากตัวเลขมีความยาวมากกว่าครึ่งของความยาวสูงสุดของตัวแปรที่แยกออกเป็นอาเรย์ (ให้ห้องเล่นเล็ก ๆ ) ลำดับ Array [0] = ตัวเลขที่อยู่ทางด้านขวา [n-max] = ตัวเลขที่อยู่ทางด้านซ้ายสุด อดีต Num: 29392023 Array [0]: 23, Array [1]: 20, array [2]: 39, array [3]: 29 เมื่อฉันสร้างความยาวครึ่งหนึ่งของตัวแปรเป็นจุดปิดมาร์คฉันก็สามารถคำนวณหาหนึ่งในสิบส่วนหนึ่งร้อย ฯลฯ วางผ่านเครื่องหมายครึ่งทางเพื่อที่ว่าถ้าความยาวสูงสุดของตัวแปรเท่ากับ 10 หลักจาก 0 ถึง 9999999999 ฉันรู้ว่า โดยครึ่งหนึ่งนั้นถึงห้าหลักทำให้ฉันมีห้องเล่น …

3
ชื่อเมธอดหรือตัวแปรของฉันยาวเกินไปหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ดังนั้นฉันกำลังอยู่ในช่วงกลางของการเข้ารหัสโชคไม่ดีสำหรับฉันฉันอยู่ใน "โซน" จากนั้นฉันก็คิดกับตัวเองว่าชื่อวิธีการ / ตัวแปรของฉันยาวหรือไม่? POPออกจากโซน I Go! ดังนั้นฉันมาที่นี่เพื่อถามวิธี / ชื่อตัวแปรของฉันยาวเกินไปหรือไม่ คุณเป็นผู้พิพากษา! คะแนนโบนัสสำหรับทุกคนที่สามารถเข้าใจสิ่งที่ฉันกำลังเขียนถึงแม้ว่าฉันจะแน่ใจว่ากูรูจะสามารถเข้าใจได้อย่างรวดเร็ว! อย่างไรก็ตามนี่คือวิธีการและชื่อตัวแปรของฉัน วิธีการ: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares () ตัวแปร: isNextToBlockedSquares; ฉันคิดว่ามีเพียงตัวแปรเดียวที่ดูเหมือนยาวเกินไป
15 naming  variables 

4
คำจำกัดความของ "รัฐ"
เป็นวิธีที่ดีในการกำหนด "รัฐ" เช่นเดียวกับในรัฐตัวแปรหรือเครื่องรัฐเป็นโปรแกรมเมอร์ใหม่ (ไม่ใช่ก่อนหน้านี้) คืออะไร? อะไรคือวิธีที่ดีในการอธิบายว่าทำไมแนวคิดนี้มีประโยชน์สำหรับการเขียนซอฟต์แวร์? แนวคิดของรัฐสอนอย่างชัดเจนในการเริ่มต้นหลักสูตรการเขียนโปรแกรมหรือหนังสือทั่วไปหรือไม่?

4
มีการสนับสนุนการใช้ตัวแปรหนึ่งตัวอักษรหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว มีการใช้ตัวแปรหนึ่งตัวอักษรใน Java หรือไม่? ในตัวอย่างโค้ดหรือแบบฝึกหัดคุณมักจะเห็นมัน ฉันไม่สามารถจินตนาการได้ว่ามีการใช้งานสิ่งเหล่านี้เพราะมันทำให้โค้ดอ่านยากขึ้นและฉันไม่เคยเห็นมันถูกใช้ในภาษาการเขียนโปรแกรมอื่น!

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