التماسك العالي والتزامن - هل هم اهتمامات متضاربة؟

StackOverflow https://stackoverflow.com/questions/3723563

سؤال

كنت أقرأ رمز روبرت مارتن النظيف ، وفي أنه يذكر أن الكود متماسك للغاية:

يجب أن تحتوي الفئات على عدد صغير من متغيرات المثيل. يجب على كل طريقة من طرق الفصل معالجة واحدة أو أكثر من تلك المتغيرات. بشكل عام ، كلما كانت الطريقة أكثر متغيرًا تتلاعب بأكثر تماسكًا لهذه الطريقة في فئتها. الفئة التي يتم فيها استخدام كل متغير بواسطة كل طريقة تكون متماسكة بشكل أقصى تماسك إلى أقصى حد

ولكن عندما نحاول كتابة التعليمات البرمجية المتزامنة ، فإننا نسعى جاهدين للحد من نطاق المتغيرات بطريقة واحدة لتجنب ظروف السباق. ولكن هذا يؤدي إلى رمز هو الأقل تماسك.

عند تصميم تطبيق/فئة ، ما الذي يجب أن تفضله - التماسك أو التزامن؟

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

المحلول

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

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

لست متأكدًا من أنك تركز على المكان الصحيح تمامًا (يمكن أن تكون هي الطريقة التي أقرأ بها سؤالك). مارتن لا يقول أنه يجب عليك جعل أكبر عدد ممكن من المتغيرات على مستوى الفصل قدر الإمكان. إنه يقول أنه من متغيرات مستوى الفصل ، كم تستخدم؟ إذا قمت بترويج المتغيرات التي لا تحتاجها ، فقد لا تحصل على تماسك أعلى ... قد تصبح اقتران أكثر تشددًا.

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