বেশিরভাগ সি-এর মতো ভাষায় আমি আমার ধনুর্বন্ধনীগুলি রাখার বিষয়ে ইচ্ছাকৃতভাবে যেখানে আমার মনে হয় তারা কোডটি পড়া সবচেয়ে সহজ করে তোলে।
পাওয়ারশেলের পার্সার সনাক্ত করে যখন কোনও বিবৃতি স্পষ্টভাবে সম্পূর্ণ হয়নি এবং পরবর্তী লাইনে তাকান। উদাহরণস্বরূপ, একটি সেমিডলেট কল্পনা করুন যা একটি alচ্ছিক স্ক্রিপ্ট ব্লক প্যারামিটার নেয়:
গেট-ফু {............}
যদি স্ক্রিপ্ট ব্লকটি দীর্ঘ হয় তবে আপনি লিখতে চাইতে পারেন:
পান-ফু
{
...............
...............
...............
}
তবে এটি কাজ করবে না: পার্সার দুটি বিবৃতি দেখতে পাবে। প্রথমটি Get-Foo
এবং দ্বিতীয়টি একটি স্ক্রিপ্ট ব্লক। পরিবর্তে, আমি লিখছি:
গেট-ফু {
...............
...............
...............
}
আমি লাইন-ধারাবাহিকতা অক্ষর (`) ব্যবহার করতে পারতাম তবে এটি হার্ড-টু-পঠন কোড তৈরি করে এবং বাগগুলিকে আমন্ত্রণ জানায়।
যেহেতু এই ক্ষেত্রে খোলা ব্রেসটি পূর্ববর্তী লাইনে থাকা দরকার, আমি সেই প্যাটার্নটি সর্বত্র অনুসরণ করি:
যদি (শর্ত) {
.....
}
নোট করুন যে if
বিবৃতিগুলির জন্য ভাষার ব্যাকরণে একটি স্ক্রিপ্ট ব্লক প্রয়োজন, সুতরাং পার্সার স্ক্রিপ্ট ব্লকের জন্য পরবর্তী লাইনে দেখবে, তবে ধারাবাহিকতার জন্য, আমি একই রেখায় খোলা বন্ধনীটি রেখেছি।
একত্রে, দীর্ঘ পাইপলাইনগুলির ক্ষেত্রে, আমি পাইপের চরিত্রটি ভেঙে ফেলি ( |
):
$ project.Items |
? -$ _। কী -eq "প্রজেক্টফিল"} |
% {$ _। মান} |
% {$ _। মূল্যায়নকেন্দ্র lude |
%
.........
}