سؤالي يخص لغة #C ولكن لكون المبدء عام فقد يفيد أي جواب في أي لغة أخرى

نحن نكتب الكود في المحرر ومن ثم نقوم بالترجمة لينتج لغة نهائية أو لغة وسيطة

مثلا لغات الدوت النت تترجم كمرحلة أولى إلى IL الذي يكون على CLR و من ثم يتم ترجمته إلى برنامج للتنفيذ

بحسب ما وجدت من مشاريع مثل Contract و PostSharp فإني ألاحظ أن هناك عملية تعديل على الكود بعد الترجمة

وسؤالي هل بإمكاني أن أقوم بنفس الأمر أي هل هناك آلية تمكنني من إعادة تصريف أو استبدال أجزاء من الكود أثناء الترجمة

سؤالي ناتج أني أستخدم في كثير من الأحيان مناهج مضافة بدلا من الكود المباشر وذلك من أجل المقروئية

مثلا كثيرا ما استخدم

if(obj.Exist()) 

أو

if(obj.Null()) 

بدلا من

if(obj != null)

أو

if(obj == null)

وحيث أن الأول يعتبر استدعاء لدالة بينما الآخر يترجم مباشرة لعملية فحص

طبعا ليس الأمر محصور بهذا المثال فقط ولكن ضربته للتوضيح

فإنني أريد أن لا أفقد المقروئية

وبنفس الوقت أريد التخلص من الاستدعاءات الكثيرة الزائدة

ولهذا خطر ببالي أنه أثناء الكتابة استخدم الاستدعاءات للمناهج المضافة

وأثناء الترجمة أقوم باستبدالها بالكود المختصر

فهل لأحد منكم معرفة أو تجربة بهذا الخصوص ؟

وشكرا لكم