
لم تعد بحاجة إلى وضع Log.d()
في كل سطر من التعليمات البرمجية!
عندما نقوم بتصحيح التطبيقات ، نبدأ في بعض الأحيان في إنشاء سجلات عبر الشفرة للتعامل مع أي مشكلة.
class MainActivity : AppCompatActivity() { lateinit var retrofit: Retrofit override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setupToolbar() Log.d("MyApp", "Toolbar Set") initRetrofit() Log.d("MyApp", "Retrofit Initialized") var myButton = findViewById<Button>(R.id.search_close_btn) myButton.setOnClickListener { Log.d("MyApp", "My Button Clicked") } Log.d("MyApp", "Activity Creation Done!") } }
يعمل هذا بشكل رائع ، ولكن يحدث أننا ننسى حذف السجلات قبل الالتزام ، وهم يدخلون إلى رمز الإنتاج "بأمان".
من الجيد عدم ترك السجلات لتصحيح الأخطاء بعد اكتمالها ، حتى إذا كنت تستخدم ProGuard لحذفها تلقائيًا في التعليمات البرمجية المترجمة ، حيث أن لها تأثيرًا ضارًا على إمكانية قراءة التعليمات البرمجية بشكل عام. مثل التعليقات ، يمكن أن تبدأ السجلات في الاختلاف بسهولة عن الشفرة المحيطة بها ، في أفضل الأحوال تصبح عديمة الفائدة ، وفي أسوأ الأحوال مضللة.
يصبح الوضع أكثر تعقيدًا عندما يتطلب تسجيل شروط معينة للوفاء بها. الآن هذه ليست مجرد كومة غير مجدية if else
، ولكن أيضًا رمزًا مكلفًا محتملًا.
ولكن اتضح أن هناك طريقة بسيطة للغاية لحل هذه المشكلة. يسمح لك IntelliJ و Android Studio بإنشاء نقاط توقف (نقاط توقف إنجليزية) لا تقاطع تنفيذ التعليمات البرمجية (نعم ، هذا قانوني).
أولاً ، قم بإنشاء نقطة توقف على أي خط ، إما عن طريق النقر على الجانب الأيسر من المحرر ، أو باستخدام اختصار لوحة المفاتيح Ctrl-F8
. يمكنك بعد ذلك تحرير نقطة الإيقاف إما عن طريق النقر بزر الماوس الأيمن عليها أو باستخدام اختصار لوحة المفاتيح Ctrl-Shift-F8
. سترى نافذة مثل هذا:

ثم قم بإلغاء تحديد Suspend
( وقفة روسية) ، وسترى المزيد من الخيارات في هذه النافذة المشروطة:

أضف الآن أي سجلات إلى حقل التقييم Evaluate and log
كما يلي:

وبعد إزالة جميع السجلات من الرمز وإضافتها إلى نقاط التوقف ، ستبدو الشفرة نظيفة:
class MainActivity : AppCompatActivity() { lateinit var retrofit: Retrofit override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setupToolbar() initRetrofit() var myButton = findViewById<Button>(R.id.search_close_btn) myButton.setOnClickListener { } } }
أفضل بكثير ، أليس كذلك؟ اذهب الآن واستخدم نقاط التوقف دون انقطاع! كل ما عليك فعله هو تشغيل التطبيق في وضع التصحيح ، وسيتم عرض الرسائل في وحدة التحكم.
اقرأ عن الحيل الأخرى في Android Studio هنا.