अधिकांश सी-लाइक भाषाओं में मैं अपने ब्रेसिज़ को रखने के बारे में जानबूझकर हूं जहां मुझे लगता है कि वे कोड को पढ़ने के लिए सबसे आसान बनाते हैं।
PowerShell का पार्सर पहचानता है जब कोई कथन स्पष्ट रूप से पूरा नहीं होता है, और अगली पंक्ति में दिखता है। उदाहरण के लिए, एक cmdlet की कल्पना करें जो एक वैकल्पिक स्क्रिप्ट ब्लॉक पैरामीटर लेता है:
गेट-फू {{............}
यदि स्क्रिप्ट ब्लॉक बहुत लंबा है, तो आप लिखना चाह सकते हैं:
Get-फू
{
...............
...............
...............
}
लेकिन यह काम नहीं करेगा: पार्सर दो बयानों को देखेगा। पहला है Get-Foo
और दूसरा स्क्रिप्ट ब्लॉक है। इसके बजाय, मैं लिखता हूं:
गेट-फू {
...............
...............
...............
}
मैं लाइन-कंटीन्यू कैरेक्टर (`) का उपयोग कर सकता था, लेकिन यह हार्ड-टू-रीड कोड के लिए बनाता है, और बग को आमंत्रित करता है।
क्योंकि इस मामले में पिछली पंक्ति पर खुले ब्रेस की आवश्यकता होती है, मैं हर जगह उस पैटर्न का पालन करता हूं:
अगर (शर्त) {
.....
}
ध्यान दें कि if
बयानों को भाषा व्याकरण में एक स्क्रिप्ट ब्लॉक की आवश्यकता होती है, इसलिए पार्सर स्क्रिप्ट ब्लॉक के लिए अगली पंक्ति पर ध्यान देगा, लेकिन स्थिरता के लिए, मैं खुले ब्रेस को उसी लाइन पर रखता हूं।
इसके अलावा, लंबी पाइपलाइनों के मामले में, मैं पाइप चरित्र के बाद टूट जाता हूं ( |
):
$ परियोजना
? {$ _। की-टेक "प्रोजेक्टफाइल"} |
% {$ _। मान} |
% {$ _। मूल्यांकन किया हुआ} |
% {
.........
}