سؤال

وهذا هو تماما ما يرام C # رمز ويعمل المقدمة غرامة URL الصحيح. ولكن كل شيء يتم فقط في سطر واحد عن طريق الحد من سهولة قراءة التعليمات البرمجية.

وهنا هو رمز:

         return new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()).ReadToEnd();

وأنا أتساءل فقط ما هي آراء زملائه المطورين على هذا النوع من طريقة قطع قصيرة من كتابة رمز

هل كانت مفيدة؟

المحلول

ويدفع به إلى أسلوب اسمه جيدا، وربما تقسيمها بحيث تمتد قرأه احد على بضعة خطوط. فما استقاموا لكم فاستقيموا ربما أيضا استخدام WebClient:

return new WebClient().DownloadString(urlName);

نصائح أخرى

لا، انها ليست حقا على ما يرام تماما C # رمز. يجب التخلص من StreamReader، لذلك على الأقل لديه بيان using:

using (StreamReader reader = new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()) {
   return reader.ReadToEnd();
}

وقد كسب هذا كود لقراءة بعض الشيء بتقسيمه إلى المزيد من خطوط، ولكن ليس كثيرا.

وعموما أنا أفضل قراءة الشفرة قبل كود المضغوط. وجود عبارة واحدة في كل سطر يجعل رمز أسهل في القراءة والفهم. على سبيل المثال:

if (i <= 4) i = 4 - i;

وهذا يصبح أكثر قابلية للقراءة مع بيان إذا على سطر واحد ورمز داخله على سطر منفصل، مع بيان إذا وجود دائما بين قوسين:

if (i <= 4) {
   i = 4 - i;
}

وهذا الرمز هو بطبيعة الحال قابلة للقراءة وليس حتى في شكل مدمج، ولكن أكثر تعقيدا هو رمز، وأكثر ما يكسب من وضع كل بيان على سطر منفصل.

... YUCK.

وأنا سأضم أحيانا بعض الأشياء في سطر واحد، وعادة عندما أنا إلقاء الاشياء لتيار، ولكن لم هذا بكثير.

ومعظم المجمعين (ج ++ المجمعين على الأقل) والتعاريف غالبا مضمنة متغير إذا تم استخدام تعريف مرة واحدة فقط، لذلك إذا قمت بإجراء استخدام مرة واحدة، ورمي بعيدا متغير. سيكون لديك C # مترجم ربما مجرد محل اسمها مع تعريفه.

وبالإضافة إلى مشكلة القراءة، يجب عليك التخلص أي كائن IDisposble الذي تستخدمه.

وبيان واحد! = سطر واحد، يمكنك تحسين إمكانية القراءة من خلال تحسين التنسيق من التعليمات البرمجية. بالطبع يجب أن لا نفترض أن الناس الآخرين استخدام شاشات عالية الدقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top