Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.

ثلاث أدوات غيّرت طريقة عملي كمبرمج ورفعت من كفاءتي بشكل ملحوظ

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

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

woman-coding-on-a-laptop-in-front-of-a-desktop-monitor-with-lines-of-code-overlaid-with-programming-symbols-and-icons-for-org-roam-neovim-and-github ثلاث أدوات غيّرت طريقة عملي كمبرمج ورفعت من كفاءتي بشكل ملحوظ
هذه الأدوات ليست سرية أو حكرًا على المبرمجين المحترفين، لكنها تصبح مؤثرة فعلاً عندما تعرف كيف تستفيد منها بالشكل الصحيح. في السطور التالية ستتعرف على الأدوات الثلاث التي غيّرت طريقة عملي كمبرمج، وكيف يمكنها أن تفعل الشيء نفسه معك.

ربما أنت مثلي، ولديك شغفٌ لا ينضب بالبرامج الجديدة لإشباع فضولك. هناك وفرةٌ من التطبيقات المفيدة. بعضها قويٌّ بما يكفي لتغيير طريقة تفكيرك وأدائك. إليك ثلاث أدوات غيّرتني جذريًا كمبرمج.

Neovim: حلم المُبرمج

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

تعديلاتٌ لا نهاية لها وإعداداتٌ مُخصصة

Neovim مُحرر نصوص قابلٌ للتخصيص بدرجةٍ عالية، مع بعض ميزات تحرير الكود المُتقدمة التي تُضاهي مُحررات الكود الأخرى مثل VS Code. لا تُضاهي VS Code جميع ميزاته، لكن Neovim يُقدّم لك إمكانية تكوينٍ لا نهائية.

يتميز Neovim بنظامٍ شاملٍ من الإضافات، ودائمًا ما تُضاف إضافاتٌ جديدةٌ إلى نظامه. لقد غمرني التعديل المستمر على نظامي في عالم البرمجة؛ فأنا لا أكتب الشيفرة البرمجية لإنشاء تطبيقات فحسب، بل أكتبها لتحسينها. إذا واجهت أي مشكلة، يُمكنني تثبيت إضافة، أو كتابة الشيفرة بنفسي.

تحرير سهل

أكبر ميزة لـ Neovim هي سهولة تحرير النصوص فيه. نقل الكلمات وتغييرها وحذفها دون تفكير يُشعرني بالتحرر. أشعر أن أسلوب التحرير التقليدي باستخدام واجهة المستخدم الرسومية مُعقد ويشكل عائقًا. يُمكّنني Neovim من التركيز فقط على معنى الشيفرة البرمجية بدلًا من عملية التحرير نفسها. أشعر أنني أقرب إلى الشيفرة البرمجية. تتجلى أفكاري على الصفحة دون الحاجة إلى التفكير في آليات التحرير. لكن الأمر لا يتوقف عند هذا الحد، لأن Neovim يدعم Tree-sitter بشكل ممتاز، وهذا يُحسّن عملية التحرير بشكل كبير.

Tree-sitter لغة برمجة خاصة يُمكن تهيئتها لفهم أي نص مُهيكل يُمكن تخيله تقريبًا – لغات البرمجة، وعلامات الترميز، وحتى الصيغ البرمجية المتخصصة مثل Typst. تُمكّن Tree-sitter مستخدميها من التعامل مع النصوص بطريقة خاصة باللغة. على سبيل المثال:

  • التنقل: الانتقال من دالة إلى أخرى أو إلى أجزاء مُحددة منها.
  • تحديد ونقل كتل if-else كاملة دون نسخ ولصق.
  • تبديل المُعاملات في دالة دون نسخ ولصق.
اقرأ أيضا:  أفضل الطرق لاختيار مكبر صوت ذكي متوافق مع منزلك الذكي

قدرتك فقط هي التي تُحدد ما يُمكنك فعله. يأتي Neovim مع العديد من تكوينات Tree-sitter (تُسمى لهجات)، وهناك العديد من التكوينات الأخرى المُتاحة.

نظام التذاكر: جهّز تذاكرك، ثم ألغِها

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

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

لمن لا يعرفون هذا المصطلح، يشبه نظام التذاكر نظام المهام: كل عنصر من عناصر المهام هو تذكرة، تصف مشكلة منفصلة – على سبيل المثال، خطأ أو ميزة. تكمن القوة في كيفية تنظيم هذه التذاكر؛ يمكنك وضع علامات عليها أو وضعها على لوحة كانبان.

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

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

اقرأ أيضا:  كيف تكشف عن التلاعب بالأسعار في تخفيضات الجمعة السوداء

illustration-of-cards-with-tasks-on-whiteboard-organized-into-several-categories ثلاث أدوات غيّرت طريقة عملي كمبرمج ورفعت من كفاءتي بشكل ملحوظ

عادةً ما يكون لديّ مشروع أو مشروعان (لوحات كانبان) مفتوحان، وهي مشاريع أخطط للقيام بها في المستقبل القريب.

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

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

يقدم GitHub نظامًا رائعًا لتذاكر المشاريع مع لوحة كانبان – يُطلقون عليها اسم المشاريع. يمكنك إنشاء مشاريع عامة أو خاصة بالمستودع. بالإضافة إلى ذلك، إذا كنت تستخدم نظامًا مرنًا لتدوين الملاحظات (مثل Org-Mode، الذي سنتناوله لاحقًا) والذي يسمح لك بإعادة ترتيب مهامك بسهولة، فهذا مناسب أيضًا؛ ومع ذلك، فإن التعاون مع الآخرين أمرٌ جديرٌ بالاهتمام.

Org-Roam: نظام متقدم لتدوين الملاحظات

في القسم السابق، أشرتُ إلى Org-Mode، وهي حزمة من Emacs تتيح لك إعادة ترتيب العناوين بسرعة، ووضع علامات عليها، وحتى تحويلها إلى عناصر مهام. Org-Mode حزمة ضخمة للغاية، تحتوي على مئات الميزات – بعد ست سنوات من استخدامها، لم أتعلم بعد كل ما تقدمه.

Org-Roam هي حزمة أخرى من Emacs مبنية على Org-Mode. توفر Org-Mode تخطيط المستندات الأساسي وقائمة لا حصر لها من الميزات للتحكم فيها. يوفر Org-Roam إمكانيات الربط، مما يسمح لك بربط الملاحظات معًا في رسم بياني. يعمل هذا النظام بشكل مشابه للروابط التشعبية على شبكة الإنترنت.

a-graph-is-shown-that-represents-all-the-nodes-in-the-note-taking-system-with-edges-as-links-showing-their-relationships-and-several-notes-are-visible ثلاث أدوات غيّرت طريقة عملي كمبرمج ورفعت من كفاءتي بشكل ملحوظ

أثناء كونك مبرمجًا، فأنت تتعلم باستمرار. سواء كنت تتعلم إطار عمل أو مكتبة برمجية أو لغة جديدة، فهذه كلها مواضيع ضخمة للغاية، ويستغرق إتقانها سنوات. هناك العديد من الجوانب والخصائص الفريدة لهذه التقنيات، مما يعني أن تعلمك لن يكتمل أبدًا. لتتذكر كل ما تتعلمه، تحتاج إلى طريقة فعّالة لتصنيف الأفكار الفردية في أماكن يسهل استرجاعها. استخدام نظام تدوين ملاحظات تقليدي غير مناسب؛ بدلاً من ذلك، عليك رسم حدود واضحة حول كل فكرة، كما تفعل صفحات الويب. كما تحتاج إلى طريقة للبحث السريع في ملاحظاتك. يوفر Org-Roam كلا الأمرين.

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

اقرأ أيضا:  ما هو التظليل في التصوير الفوتوغرافي؟

an-emacs-window-is-open-with-a-left-buffer-showing-categorised-bullet-points-that-link-to-notes-with-concise-summaries-and-a-right-buffer-displaying-a-note-with-extensive-text-about-emacs ثلاث أدوات غيّرت طريقة عملي كمبرمج ورفعت من كفاءتي بشكل ملحوظ

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

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

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

an-emacs-window-is-open-with-a-buffer-of-extensive-text-about-emacs-on-the-left-and-a-backlinks-buffer-on-the-right-that-displays-excerpts-from-paragraphs-containing-the-links ثلاث أدوات غيّرت طريقة عملي كمبرمج ورفعت من كفاءتي بشكل ملحوظ

يُمثل المخزن المؤقت على اليمين مقتطفات من ملاحظات مرتبطة بالملاحظة الحالية (التي تتناول Emacs؛ المخزن المؤقت على اليسار).

Org-Roam ليس نظام تدوين الملاحظات الوحيد الذي يوفر ميزة قوية لإنشاء روابط خلفية. مع ذلك، فهو يتكامل بشكل فريد مع حزمة Org-Mode. تُدمج هاتان الحزمتان لدمج قوائم مهامي مع قاعدة معارفي الشخصية.

an-emacs-window-is-opened-with-a-list-of-todo-items-on-the-left-and-a-buffer-for-editing-them-on-the-right ثلاث أدوات غيّرت طريقة عملي كمبرمج ورفعت من كفاءتي بشكل ملحوظ

كما ترى في لقطة الشاشة أعلاه، مهامك هي مجرد عناوين في وضع Org-Mode، مسبوقة بكلمة “TODO”. يلتقط Org Agenda (جزء من حزمة Org-Mode) هذه العناوين ويعرضها في مخزن مؤقت خاص. ولأننا نستخدم أيضًا Org-Roam، يمكننا ربطها بأي ملاحظة أخرى في Org-Roam.

من الأنظمة المشابهة الأخرى الأسهل استخدامًا Obsidian وLogseq، وكلاهما مناسب لمن يريدون نظامًا فعالًا. Org-Roam وEmacs مناسبان لمن يريدون سير عمل مُصمم خصيصًا، أي للمبرمجين.

لديّ مقال كامل مُخصص لسبب تفضيلي لاستخدام Neovim، وقد تجدونه مفيدًا. لدينا أيضًا مقالات حول استخدام Obsidian لتدوين الملاحظات أو Obsidian لتدوين اليوميات؛ وكلاهما يُمثل مقدمة جيدة لـ Obsidian.

إذا أثار Org-Roam اهتمامك، فتفضل بزيارة صفحة Org-Roam الرئيسية لمعرفة المزيد عنه. قد ترغب أيضًا في استكشاف Org-Mode. إذا كنت جديدًا على Emacs، فإعداده ليس بالأمر السهل، لكن Doom Emacs يُسهّل العملية كثيرًا، وهو توزيع Emacs المفضل لدي.

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

زر الذهاب إلى الأعلى