مرحبا بالجميع أيها الأصدقاء الأعزاء! باعتباري من محبي الميزات الجديدة على GitHub، كنت مهتمًا جدًا بمعرفة أننا سنكون قادرين قريبًا على البحث بسرعة وكفاءة في قاعدة أكواد GitHub. يمكن أن يكون هذا أمرًا مريحًا للغاية، خاصة إذا كنت بحاجة إلى إيجاد طريقة متطورة لاستخدام إحدى الأدوات. يتردد هذا بشكل خاص مع حقيقة افتتاح منافس مستقبلي لـ GitHub في روسيا. لذلك، من المؤكد أن GitHub لا ينبغي أن يعتمد على أمجاده، على الرغم من حقيقة أنهم بلا شك رواد السوق. نحن بحاجة إلى المضي قدمًا والتطور، وإلا فلن تمر ساعة حتى يلحق المنافسون بالركب ويكتسحوننا. ودع الأمر لا يبدو مذهلاً. على سبيل المثال: كم عدد الأشخاص الذين ما زالوا يستخدمون هواتف نوكيا؟ من يعرف حتى أنهم صنعوا الهواتف؟ في وقت ما، كانوا ببساطة قادة السوق بلا منازع ولا يمكن الوصول إليهم. والآن يظهرون في مكان ما في عالم الخطأ الإحصائي.
الانطباع الأول
أنشأ GitHub مشروعًا يمكنك من خلاله البحث عن التعليمات البرمجية الخاصة بك والتنقل فيها وتحليلها ومليارات الأسطر من التعليمات البرمجية المنشورة على GitHub. من المهم ملاحظة أن البحث قابل للتطوير وسريع ودقيق. تم إنشاؤه من الصفر خصيصًا للبحث عن التعليمات البرمجية. يعمل التنقل مع 10 لغات برمجة رئيسية بدون إعدادات (نأمل أن تنمو القائمة في المستقبل). يمكنك البحث باستخدام التعبير العادي، وهو أمر رائع جدًا. تتوفر أيضًا مرشحات أخرى:- حسب المنظمة؛
- في لغات البرمجة؛
- من قبل مالك محدد؛
- عن طريق امتداد الملف؛
- عن طريق التعبير العادي
دعونا نتحدث بمزيد من التفاصيل حول البحث
من الممتع جدًا إلقاء نظرة ومحاولة البحث بنفسك: هل هذا مناسب كما يقولون؟ في الوقت الحالي، هذه الميزة غير متاحة للعامة ويمكنك إضافة نفسك إلى قائمة الانتظار باستخدام الرابط . نملأ جميع النقاط هناك، الأسئلة بسيطة، لن أصفها هنا. ونتيجة لذلك، تمت إضافتنا إلى قائمة الانتظار والمضي قدمًا. ونتيجة لذلك، فإن الجواب سيكون كما يلي: عليك فقط الانتظار. بمجرد إضافتي، سأظهر لك كل شيء بالتأكيد. لا تتأخر، أضف نفسك حتى تتمكن من اكتشافها لاحقًا واستخدامها بما يرضيك) وبالطبع، من المؤسف أنه لا يمكنك تجربة الأداة الجديدة على الفور، لذلك دعونا نحلل وثائقها ونشرحها مزيد من التفاصيل كيف يمكننا استخدام هذه الأداة لعملنا. الآن عن البحث. وسوف تستخدم الطبقات والبنيات التي لها معنى في المكتبة التي أكتبها. وهذا سيجعل الأمر أكثر وضوحًا وأسهل بالنسبة لي، وآمل أن يكون أسهل بالنسبة لك أيضًا.البحث الأساسي
ImageComparison هو أبسط بحث يبحث بدقة مع الاستعلام في أسماء الملفات ومحتوياتها. كل شيء يبدو بسيطًا جدًا هنا. إذا أردنا أن نجد بوضوح اسم الفئة، حيث يتم الإعلان عنه ومكان استخدامه، فإن هذا البحث سيساعدنا في ذلك. عند إدخال كلمات متعددة مفصولة بمسافات، ستكون النتيجة البحث عنها جميعًا بشكل منفصل: مقارنة الصور ، مما يعني أنه سيجد الملفات والتعليمات البرمجية لكل من الصورة والمقارنة . إذا كنت تريد البحث عن سلسلة تحتوي على مسافات، فأنت بحاجة فقط إلى استخدام علامات الاقتباس. على سبيل المثال: "مقارنة ImageComparison = ImageComparison() الجديدة" ومن ثم سيطابق البحث السلسلة بأكملها. للهروب، نستخدم "\" كما هو الحال دائمًا. حتى الآن، كل شيء بديهي، وهذه هي الطريقة التي يتم بها الأمر غالبًا. علاوة على ذلك، يمكننا إضافة مرشحات لهذا البحث الأساسي. لذلك، دعونا نتحدث عن كل واحد منهم. ستكون هذه "ANDs" منطقية للمرشح الذي أنشأناه بالفعل.التصفية حسب المستودع
بمجرد أن يصبح الفلتر الأساسي الخاص بنا جاهزًا، يمكننا تضييق نطاق البحث والبحث حسب مستودع معين، وهو أمر مريح للغاية. لا تحتاج إلى البحث عن المجلد الذي يوجد فيه الفصل الدراسي، يمكنك فقط كتابة:
الريبو:romankh3/image-comparison ImageComparisonResult
حيث نحتاج إلى تحديد repo:${user_name}/${repo_name} . يمكنك أيضًا البحث عبر مستودعات متعددة ببساطة عن طريق إضافة OR:
الريبو: romankh3/مقارنة الصور أو الريبو: romankh3/مقارنة الصور المستخدمة ImageComparisonResult
كما ورد في GitHub، في الوقت الحالي لا يدعمون البحث في المستودعات التي تم تحديد الاسم فيها كتعبير عادي... وهذا يعني أنهم يخططون لإضافة مثل هذه الميزة ويعني أن المشروع لن يتوقف عند المعلن عنه وظائف وسوف تتطور أكثر.
التصفية حسب المنظمة
يتم البحث حسب المؤسسة أو المستخدم بنفس طريقة البحث عن طريق المستودع، فقط الكلمة الرئيسية لن تكون repo ، ولكن org :
ORG:romankh3 مقارنة الصور
وبعد ذلك سوف يمر البحث عبر جميع مستودعات المستخدم/المؤسسة.
التصفية حسب لغات البرمجة
يمكنك أيضًا تحديد البحث عن الملفات بلغة برمجة معينة. البناء هنا هو نفسه بالنسبة للمستودع والتنظيم، فقط الكلمة الرئيسية هي اللغة :
اللغة: جافا مقارنة الصور
تمامًا كما هو الحال مع المستودع، فهو يدعم البحث بعدة لغات في وقت واحد باستخدام الكلمة الأساسية OR:
اللغة: Java أو اللغة: Ruby ImageComparison
يمكن العثور على قائمة كاملة باللغات التي يدعمها GitHub هنا . وأتساءل عما إذا كان BrainFuck هناك؟ 😂
التصفية حسب مسار الملف
كل ملف في المشروع له مساره الخاص ويمكنك أيضًا البحث فيه عن طريق إضافة عامل تصفية. على سبيل المثال، يوجد ملف ImageComparisonResult ، وله المسار:
src/main/Java/com/github/romankh3/image/comparison/model/ImageComparisonResult.java
لذلك، للعثور على جميع الفئات التي يبدأ مسارها بـ src/main/Java/com/github/romankh3/image ، تحتاج إلى:
المسار:src/main/Java/com/github/romankh3/image
يمكن أن يكون مفيدًا في الحالات التي لا نريد فيها استبعاد فئات الاختبار من نتائج البحث لدينا. أو العكس، الاختبارات فقط. وهذا يجعل بحثك أكثر مرونة. يمكن تحديد عامل التصفية حسب مسار الملف باستخدام تعبير عادي. على سبيل المثال، نحن بحاجة إلى العثور على
المسار:src/*/*.js
العمليات المنطقية
وبطبيعة الحال، فإن ذروة بناء المرشح هي الجمع بين هذه المسألة معًا باستخدام العمليات المنطقية. لهذا لدينا و، أو، وليس. أعتقد أن هذا ينبغي أن يكون كافيا بالنسبة لنا. على سبيل المثال، لنقم بإنشاء استعلام بحث معقد: كود من إنتاج Java أو Kotlin لمستخدم/مؤسسة محددة:
الريبو:romankh3 و (اللغة: Java أو اللغة: Kotlin) وليس المسار:*/test/*
وأنا أقول لك أن هذا ببساطة أمر لا يصدق. يتم كتابة طلب البحث بكل بساطة وسرعة وإيجاز ووضوح بحيث لن تكون هناك أي مشاكل في البحث عن الطلب وقراءته.
GO TO FULL VERSION