3 أدوات مفيدة في Python لتسهيل التعليمات البرمجية الخاصة بك



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



شارك بريستون بدير ، مبرمج بايثون ، مجموعة من الامتدادات التي ، في رأيه ، تبسط وتسرع الترميز بشكل كبير. لمدة 5 سنوات من العمل ، جرب العديد من الأدوات وحدد ثلاثة من أكثرها فائدة.



طائرة ورقية: وصول سريع إلى الوثائق والإكمال التلقائي المدعوم بالذكاء الاصطناعي



تحتوي معظم IDEs على وظائف الإكمال التلقائي المضمنة. تبدو عملية العمل معهم هكذا.





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



نصائح ذكية تعمل بالذكاء الاصطناعي



يتعلم Kite قاعدة الكود ، ويتذكر أسماء المتغيرات التي يستخدمها المطورون غالبًا ، وأسماء المعلمات من الإنترنت ، والوثائق لتقديم توصيات سياقية ، على سبيل المثال:





يوضح المثال كيف يتنبأ Kite بالمتغيرات التي ستستخدمها اعتمادًا على سياق الكود الخاص بك. إليك مثال آخر على كيفية عمل التلميحات:





يعلق آدم سميث ، الرئيس التنفيذي لشركة Kite: "لقد أمضينا الكثير من الوقت في فهرسة جميع الرموز على GitHub ، وبناء استنتاجات إحصائية ونماذج شاملة تساعدنا في استخدام المعلومات".



تحسين معالجة الوثائق



إذا لم يرسل لك زملاؤك "RTFM" في دردشة العمل ، فأنت مطور لا يخطئ. ولكن ، على أي حال ، يجب عليك أولاً قراءة الوثائق ، ثم سؤال الزملاء عن مشكلة ما أو البحث عن إجابات للأسئلة على موقع Stack Overflow. قراءة الوثائق خطوة مهمة في كتابة التعليمات البرمجية. ستجعل Kite Copilot أكثر ملاءمة ، والتي تعرض في الوقت الفعلي وصفًا للأشياء والوظائف التي يبرزها المؤشر.





يظل الرمز الخاص بك معك على جهاز الكمبيوتر المحلي الخاص بك



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



لقد عملت مع هذه الأداة لعدة سنوات وهي تتحسن فقط. يمكنك تجربتها الآن .



تحسين الكود باستخدام Mypy



Python هي لغة مكتوبة ديناميكيًا ، والتي تسمح لك بعمل أي متغير بأي نوع بيانات في أي وقت. يمكن أن يكون نفس المتغير إما سلسلة أو عددًا صحيحًا أو نوع بيانات آخر ، اعتمادًا على آخر قيمة تم تعيينها. يؤدي ذلك إلى تسريع عملية الترميز عندما لا يضطر المطور إلى تعيين نوع البيانات يدويًا للمتغيرات في كل مرة.



# These two variable types are declared the exact same way
# Python figures out the data type on it's own, dynamically

# string
var_name = "string here"

# integer
var_name = 1234


وهنا مثال على لغة مكتوبة بشكل ثابت ، حيث يتم تخصيص نوع بيانات معين لكل متغير ، والذي يجب الالتزام به في المنطق:



# Many languages require the data type to be declared too

# string
str var_name = "string here"

# integer
int var_name = 1234


هناك أيضًا عيوب في النهج الديناميكي:



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


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



# Declaring a function using normal dynamic typing, without mypy
def iter_primes():
   # code here#

 Declaring the same function with mypy static typing
from typing import Iterator

def iter_primes() -> Iterator[int]:
   # code here


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



ابحث عن الأخطاء بسرعة واكتب وظائف بسيطة باستخدام SonarLint



تحتوي معظم IDEs على linters ومحللات أخطاء ثابتة. يمكن لـ Linter العثور على خطأ حتى قبل تشغيل الكود. يعتبر هذا التحليل الإحصائي للكود.





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



تم التعليق على التعليمات البرمجية المعلقة أو غير المستخدمة



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







الأمان



لدى SonarLint قاعدة بيانات كبيرة وقابلة للتحديث للثغرات الأمنية تسمح للمكوِّن الإضافي بتحذير المطور على الفور بشأن المشكلات الموجودة في الكود.



قراءة الكود



تحذر SonarLint من التعقيد المفرط للشفرة من خلال شرح المشكلة. يمكن أن يكون ، على سبيل المثال ، تداخلاً أكثر من اللازم لعبارات if.



كاستنتاج



ملخص صغير حتى لا ننسى الأدوات الموضحة في المقال:





ما هي أدوات Python المفيدة التي تستخدمها؟






All Articles