تمرين - استخدام المسافة البيضاء لتسهيل قراءة التعليمات البرمجية
يفهم مصممو الطباعة والويب أن وضع الكثير من المعلومات في مساحة صغيرة يطغى على العارض. لذا، فإنهم يستخدمون مساحة بيضاء أو مساحة فارغة بشكل إستراتيجي لتفرقة المعلومات لزيادة قدرة المشاهد على استهلاك الرسالة الأساسية لعملهم.
يمكن للمطورين استخدام استراتيجية مشابهة عند كتابة التعليمة البرمجية في محرر. باستخدام مسافة بيضاء لنقل المعنى، يمكن للمطورين زيادة وضوح هدف التعليمة البرمجية الخاصة بهم.
ما هي المسافة البيضاء؟
يشير مصطلح "المسافة البيضاء" إلى المسافات الفردية التي تنتجها space bar، وعلامات التبويب التي ينتجها tab المفتاح، والخطوط الجديدة التي ينتجها enter المفتاح.
يتجاهل المحول البرمجي «C#» المسافة البيضاء. لفهم كيفية تجاهل المسافة البيضاء، وكيفية زيادة الوضوح باستخدام المساحة البيضاء، اعمل من خلال التمرين التالي.
إضافة تعليمة برمجية لتوضيح كيفية تجاهل المسافة البيضاء بواسطة المحول البرمجي C#
تأكد من وجود ملف Program.cs فارغ مفتوح في Visual Studio Code.
إذا لزم الأمر، افتح Visual Studio Code، ثم أكمل الخطوات التالية لإعداد ملف Program.cs في المحرر:
في القائمة ملف ، حدد فتح مجلد.
استخدم مربع الحوار فتح مجلد للانتقال إلى المجلد CsharpProjects ثم فتحه.
في طريقة عرض Visual Studio Code EXPLORER، حدد Program.cs.
في قائمة Visual Studio Code Selection ، حدد Select All، ثم اضغط على مفتاح Delete.
أدخل الرمز التالي:
// Example 1: Console . WriteLine ( "Hello Example 1!" ) ; // Example 2: string firstWord="Hello";string lastWord="Example 2";Console.WriteLine(firstWord+" "+lastWord+"!");في قائمة Visual Studio Code File ، حدد Save.
في طريقة عرض EXPLORER، لفتح Terminal في موقع مجلد TestProject، انقر بزر الماوس الأيمن فوق TestProject، ثم حدد Open in Integrated Terminal.
في موجه الأوامر Terminal، اكتب dotnet run ثم اضغط على Enter.
ينبغي أن تشاهد المخرج التالي:
Hello Example 1! Hello Example 2!خذ دقيقة للنظر في ما تخبرك به هذه النتيجة حول كيفية استخدام المسافة البيضاء في التعليمات البرمجية الخاصة بك.
يوضح هذان المثالان للتعليمة البرمجية اثنين من الأفكار الحيوية:
- لا تهم المسافة البيضاء المحول البرمجي. لكن...
- يمكن للمسافة البيضاء، عند استخدامها بشكل صحيح، زيادة قدرتك على قراءة وفهم التعليمة البرمجية.
من المحتمل أن تكتب التعليمات البرمجية مرة واحدة، ولكن تحتاج إلى قراءة التعليمات البرمجية عدة مرات. لذلك، يجب التركيز على قابلية قراءة التعليمات البرمجية التي تكتبها. بمرور الوقت، ستتعرف على وقت وكيفية استخدام المسافة البيضاء، مثل حرف المسافة وعلامات التبويب والخطوط الجديدة.
التوجيه المبكر:
- ينتمي كل أمر كامل (عبارة) إلى سطر منفصل.
- إذا أصبح خط واحد من التعليمة البرمجية طويلاً، يمكنك فصله. ومع ذلك، يجب تجنب تقسيم عبارة واحدة إلى خطوط متعددة بشكل عشوائي؛ حتى يكون لديك سبب جيد للقيام بذلك.
- استخدام مسافة إلى اليسار واليمين من عامل تشغيل المهام.
استبدل التعليمات البرمجية الموجودة بالتعليمات البرمجية التالية:
Random dice = new Random(); int roll1 = dice.Next(1, 7); int roll2 = dice.Next(1, 7); int roll3 = dice.Next(1, 7); int total = roll1 + roll2 + roll3; Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}"); if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) { if ((roll1 == roll2) && (roll2 == roll3)) { Console.WriteLine("You rolled triples! +6 bonus to total!"); total += 6; } else { Console.WriteLine("You rolled doubles! +2 bonus to total!"); total += 2; } }لاحظ أن هذه التعليمة البرمجية لا تتضمن الكثير من المسافة البيضاء. سيتم استخدام هذه التعليمة البرمجية لتوضيح نهج لإضافة مسافة بيضاء إلى التطبيقات الخاصة بك. يجب أن تسهل المسافة البيضاء الفعالة فهم ما تقوم به التعليمات البرمجية الخاصة بك.
إشعار
تستخدم التعليمات البرمجية الفئة للمساعدة
Randomفي تطوير لعبة نرد محاكاة، حيث يتم استخدام القيمة الإجمالية من ثلاث لفات لتقييم درجة "الفوز". تمنح التعليمات البرمجية نقاطا إضافية لتدحرج الزوجي أو الثلاثي. لا تحتاج إلى فهم هذه التعليمات البرمجية بشكل كامل من أجل رؤية فائدة تضمين المسافة البيضاء.خذ دقيقة للنظر في كيفية استخدام المسافة البيضاء لتحسين قابلية قراءة هذه التعليمات البرمجية.
هناك ميزتان لهذه التعليمة البرمجية يجب العلم بهما:
- لا توجد مسافة بيضاء عمودية في مثال التعليمة البرمجية هذا. بمعنى آخر: لا توجد خطوط فارغة تفصل بين خطوط التعليمة البرمجية. كل ذلك يعمل معًا في قائمة تعليمة برمجية واحدة مكثفة.
- يتم ضغط كتل التعليمات البرمجية كما هو محدد بواسطة فتح وإغلاق رموز
{ }الأقواس المتعرجة معا، ما يجعل من الصعب تمييز حدودها بصريا.
بشكل عام، لتحسين قابلية القراءة، يمكنك تقديم سطر فارغ بين سطرين أو ثلاثة أو أربعة أسطر من التعليمات البرمجية التي تفعل أشياء مماثلة أو ذات صلة.
صياغة التعليمة البرمجية باستخدام مسافة بيضاء رأسية ذاتي. من المحتمل أن اثنين من المطورين لن يتفقا على ما هو أكثر قابلية للقراءة، أو متى يتم إضافة مسافة بيضاء. استخدام أفضل حكم لديك.
لإضافة مسافة بيضاء عمودية تحسن قابلية القراءة، قم بتحديث التعليمات البرمجية الخاصة بك كما يلي:
Random dice = new Random(); int roll1 = dice.Next(1, 7); int roll2 = dice.Next(1, 7); int roll3 = dice.Next(1, 7); int total = roll1 + roll2 + roll3; Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}"); if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) { if ((roll1 == roll2) && (roll2 == roll3)) { Console.WriteLine("You rolled triples! +6 bonus to total!"); total += 6; } else { Console.WriteLine("You rolled doubles! +2 bonus to total!"); total += 2; } }يتم استخدام السطر الأول من المسافة البيضاء لفصل إعلان المتغير عن
diceأسطر التعليمات البرمجية المستخدمة لتعيين القيم إلى متغيرات لفتك. يسهل هذا الفصل معرفة كيفيةdiceاستخدام في التعليمات البرمجية الخاصة بك.يفصل السطر التالي من المسافة البيضاء إعلان متغيرات لفتك عن إعلان
total. يعد تجميع إعلان متغيرات لفة الثلاثة مفيدا بطريقتين. أولا، يقوم بإنشاء مجموعة من أسطر التعليمات البرمجية التي تتضمن المتغيرات ذات الصلة. ثانيا، أسماء المتغيرات متشابهة جدا ويتبع الإعلان نفس النمط. لذا، فإن تجميعهما معا يجذب عينك إلى أوجه التشابه ويساعد على كشف الاختلافات.وأخيرا، يفصل السطر الثالث من المسافة البيضاء مجموعة أخرى من العبارات ذات الصلة عن عباراتك المتداخلة
if. ترتبط مجموعة العبارات التي تتضمن الإعلان عنtotalوطريقةConsole.WriteLine()حسب الغرض بدلا من المظهر. تركز التعليمات البرمجية الخاصة بك على القيمة الإجمالية التي حققها النرد الثلاثة وما إذا كانت القيمة المحتسبة تتضمن تضاعفا أو ثلاثة أضعاف. ترتبط هذه الأسطر لأنك تحتاج إلى حسابtotalنتائج اللفة والإبلاغ إليها للمستخدم.قد يجادل بعض المطورين أنه يجب عليك إضافة سطر فارغ بين الإعلان عن
totalوConsole.WriteLine(). مرة أخرى، اختيار المسافة البيضاء هو ما يصل إلى أفضل حكم لك. يجب أن تقرر ما هو أكثر قابلية للقراءة بالنسبة لك واستخدام هذا النمط باستمرار.كل ما تركته هو
ifعبارة . يمكنك فحص ذلك الآن.مع التركيز على أسطر التعليمات البرمجية أسفل الكلمة الأساسية ، قم بتعديل التعليمات البرمجية
ifالخاصة بك كما يلي:Random dice = new Random(); int roll1 = dice.Next(1, 7); int roll2 = dice.Next(1, 7); int roll3 = dice.Next(1, 7); int total = roll1 + roll2 + roll3; Console.WriteLine($"Dice roll: {roll1} + {roll2} + {roll3} = {total}"); if ((roll1 == roll2) || (roll2 == roll3) || (roll1 == roll3)) { if ((roll1 == roll2) && (roll2 == roll3)) { Console.WriteLine("You rolled triples! +6 bonus to total!"); total += 6; } else { Console.WriteLine("You rolled doubles! +2 bonus to total!"); total += 2; } }لاحظ أنك نقلت أقواس الفتح والإغلاق المتعرجة إلى خطها الخاص لتحسين التباعد.
ينشئ
{الرمزان و}كتل التعليمات البرمجية. تتطلب العديد من بنيات «C#» كتل تعليمة برمجية. وينبغي وضع هذه الرموز على خط منفصل؛ بحيث تكون حدودها واضحة للعيان، وقابلة للقراءة.علاوة على ذلك، من المهم استخدام
tabالمفتاح لوضع رموز كتلة التعليمات البرمجية ضمن الكلمة الأساسية التي تنتمي إليها. على سبيل المثال، لاحظ سطر التعليمات البرمجية الذي يبدأ بالكلمة الأساسيةif. أسفل هذا السطر يوجد{الرمز. تسهل هذه المحاذاة فهم أن{عبارة "تنتمي إلى".ifعلاوة على ذلك، يصطف الرمز الأخير}مع العبارةifأيضا. إن الجمع بين المحاذاة والمسافة البادئة يجعل من السهل فهم مكان بدء كتلة التعليمات البرمجية وانتهاءها.يتم مسافة بادئة لخطوط التعليمات البرمجية داخل كتلة التعليمات البرمجية هذه، مما يشير إلى أنها "تنتمي" إلى كتلة التعليمات البرمجية هذه.
تتبع نمطا مشابها مع العبارة الداخلية
ifوالعelseالعبارة، والرمز داخل كتل التعليمات البرمجية هذه.
لا يتفق الجميع مع إرشادات النمط هذه لتضمين المسافة البيضاء. ومع ذلك، يجب أن تفكر في استخدام هذا التوجيه كنقطة بداية عند كتابة التعليمات البرمجية. في المستقبل، يمكنك أن تكون هادفا عند اتخاذ قرار الانحراف عن هذا التوجيه.
خلاصة
الفوائد الأساسية من هذا التمرين:
- استخدام مسافة بيضاء بحكمة؛ لتحسين قابلية قراءة التعليمة البرمجية الخاصة بك.
- استخدام خلاصات الخطوط لإنشاء خطوط فارغة لفصل عبارات التعليمة البرمجية. تتضمن العبارة أسطر التعليمات البرمجية المتشابهة أو التي تعمل معا.
- استخدام خلاصات الخطوط لفصل رموز كتلة التعليمة البرمجية؛ بحيث تكون على خط التعليمة البرمجية الخاص بها.
-
tabاستخدم المفتاح لمحاذاة كتلة التعليمات البرمجية مع الكلمة الأساسية المقترنة بها. - تغيير المسافة البادئة للتعليمة البرمجية داخل كتلة التعليمة البرمجية لإظهار الملكية.