Vim-Fu

كنت أفخر بمهاراتي في Vim فخرًا شديدًا. كنت أحفظ كل الاختصارات والحيل والنصائح، وأكتب وحدات الماكرو، وأحفظ خرائط المسجّلات عن ظهر قلب، بل جرّبت حظي في لغة Vim script أيضًا. كان «الـVim-Fu» عندي في أوج قوته.
أما اليوم فقد ضمرت مهاراتي في Vim إلى حدٍّ بعيد. نادرًا ما أفتح محرر نصوص، وملف .vimrc الخاص بي قديم ويبعث على الأسى. لقد تغيّر الزمن؛ لم يعد أحد يكتب الكود بيده. صرنا عمليًا نستدعيه إلى الوجود بقوة الإرادة، عبر الذكاء الاصطناعي.
Claude! (or more honestly Codex, we are a Codex household now) build me an Arabic Voice AI platform!
صحيح أن هذا جعل إنتاج البرمجيات أسرع بكثير، لكنه حوّل قراءتها ومراجعتها إلى كابوس. فمراجعة الكود الجيدة متأنية ومنهجية ومدروسة، ولا أحد يملك (ولا ينبغي أن يملك!) الصبر لمراجعة آلاف الأسطر من الكود المولَّد بالذكاء الاصطناعي بعناية كل يوم.
ولحل هذه المشكلة طوّرنا أداة التدقيق Standards. هذه الأداة هي خلاصة ثلاث سنوات من مراجعات الكود (ومعظم ما تعلّمته في مسيرتي البرمجية) مضغوطة في أكثر من 100 قاعدة تدقيق حتمية. تعمل الأداة ضمن خطوات ما قبل الإيداع (pre-commit) لدينا؛ فكلما كتب وكيل ذكاء اصطناعي سطرًا من الكود وحاول إيداعه، يحلّل المدقق الكود ويرصد المخالفات تلقائيًا، ثم يصلحها الوكيل بنفسه دون أن يضطر المطوّر إلى التفكير فيها.
بعض هذه القواعد أعراف نحوية بسيطة. فمثلًا، نفرض في القاعدة SARJ109 استخدام uuidv7 ونمنع uuidv4، لأن uuidv7 يتمتع بمزايا مرغوبة في الأداء. في المقابل، تجسّد قواعد أخرى مثل SARJ023 مفاهيم أعقد تعتمد على التقدير، مثل قاعدة التدرّج التنازلي. (للتوضيح، قاعدة التدرّج التنازلي مفهوم يجعل الكود أسهل قراءة، إذ تشترط أن تظهر الدوال العامة أولًا في الملف المصدري.) ونحن نضيف قواعد جديدة باستمرار، فيما تنمو القواعد الموجودة وتتوسع مع الوقت.
آمل أن تتيح لنا هذه الأداة كتابة كود صحيح وعالي الجودة دون أن نخسر السرعة التي يمنحنا إياها الذكاء الاصطناعي. لا أعرف كيف سيبدو مستقبل البرمجة، لكنني على يقين بأن الضوابط وأدوات التدقيق وطبقات التحقق وما شابهها ستكون أهم من أي وقت مضى.















