خمسة (5) أدوات أستخدمها عندما أبرمج
26 ديسمبر 2007لكل منا عادات و أدوات خاصة يستخدمها عندما يبرمج، اخترت لكم خمسة من الأدوات التي استخدمها شخصياً، ولم أقم بترتيبها وفقاً لأي شيء هي مجرد مجموعة من الأدوات التي أستخدمها و أعتقد أنها قد تفيدكم
- محرر نصوص Text Editor : حالياً أستخدم Notepad++ كمحرر نصوص رئيسي على نظام التشغيل ويندوز و vim على لينكس، قرأت كثيراً عن محرر النصوص Textmate وأجد حماسة كبيرة في كل من يكتب عنه، لكن للأسف لا يعمل إلا على نظام التشغيل Mac.
- باحث داخل الملفات النصية Text Search : أحتاج دائماً أن أبحث داخل الملفات النصية عن تعريف متغير، أو توصيف دالة، أو أي شيء آخر لذلك أعتبر أداة البحث داخل الملفات النصية أداة أساسية. غالباً ما أستخدم الأمرgrep في لينكس لإجراء عمليات البحث، أما على ويندوز فأستخدم محرك البحث الموجود مع برنامج Notepad++ و أحياناً أستخدم البرنامج المجاني : winGREP .
- إدارة الإصدارات Version Control System : تستخدم هذه الأنظمة أساساً في إدارة المشاريع التي يعمل عليها أكثر من مبرمج لحفظ كافة التعديلات حتى يمكن الرجوع إلى إصدارات سابقة عند الحاجة (إضافةً إلى استخدامات أخرى كثيرة تحتاج لموضوع منفصل لشرحها )، لكن شخصياً أقوم باستخدام هذا النظام لحفظ كافة مشاريعي في مكان واحد (المخزن) ثم عندما أحتاج لأحد هذه المشاريع أقوم بجلبه من المخزن و أعمل عليه ثم أعيده مره أخرى، بهذه الطريقة أتأكد أن مشاريعي كلها في مكان واحد أستطيع الوصول إليها بسهولة، وكافة التعديلات التي أجريها تحفظ مع إمكانية الرجوع للنسخ القديمة من ملفاتي، وفوق هذا و ذاك أستطيع أن أصل لمشاريعي من أي مكان طالما أن المخزن يمكن الوصول إليه من خلال الإنترنت. أستخدم على جهازي الشخصي نظام Subversion و لدي موقع على الإنترنت مجهز بسيرفر من نفس النوع كذلك.
- مؤقِت Stopwatch : الساعة المؤقتة التي تقوم بحساب الوقت عند الضغط عليها و تتوقف عند الضغط عليها مره ثانية، أعتبرها أداة أساسية تساعدني على التركيز و الإنجاز إلى حد كبير، حقيقةً أريد أن أبالغ و أقول أنها الأداة الأفضل التي استخدمتها و ساعدتني لزيادة فعاليتي بشكل ملحوظ، كل ما عليك فعله هو تحديد إطار زمني (20 دقيقة مثلاً) شغل المؤقت و ابدأ العمل، بشرط أن تلتزم خلال العشرين دقيقة بإنجاز وظيفة واحدة فقط، هذه الطريقة لن تساعدك على التركيز فقط بل ستتمكن مع الوقت من تطوير مهارة تقييم الزمن اللازم لإنجاز بعض الوظائف، مما سيساعدك على تقييم سعر برامجك بشكل أفضل. حالياً أستخدم ساعة الكترونية صغيرة اشتريتها بمبلغ 30 ريال (8$) أحملها معي عندما أريد إنجاز أعمال غير متعلقة بالكمبيوتر (كالقراءة مثلاً)، أما عندما أقوم بالبرمجة أو أعمال أخرى لها علاقة بالكمبيوتر فأستخدم برنامج Instant Boss وهو برنامج جميل و بسيط جداً يعتمد على فكرة تقسيم جلسة العمل إلى أجزاء، مثلاً إذا كنت تريد أن تعمل لمدة ساعة تقوم بإعداد خمسة جلسات مدة كل جلسة 10 دقائق تتخللها دقيقتين راحة، و عند تشغيل البرنامج سيبدأ بحساب الجلسات و إعلامك عندما يحين وقت الراحة، للمزيد عن البرنامج يمكنك قراءة موضوع How to Beat Procrastination with an Instant Boss (كيف تتغلب على المماطلة باستخدام برنامج Instance Boss)، يمكنك أيضاً استخدام خدمة Online Stopwatch إذا لم تكن ترغب في تنزيل أي برنامج على جهازك.
- اختصارات المجلدات Folder Shortcuts : على سطح مكتبي أقوم بإنشاء مجلد أسميه Projects، بداخله أنشئ ثلاث اختصارات لثلاثة مشاريع أعمل عليها، قد يكون المجلد الأساسي للمشروع موجود بداخل htdocs الخاص بالأباتشي أو قد يكون مجلد مؤقت أنشأته في أي مكان آخر المهم أني أستطيع الوصول لمجلد مشروعي مباشرة من على سطح المكتب، اخترت الإبقاء على ثلاثة مشاريع فقط لأني أعتقد أنها العدد الأنسب من المشاريع التي يمكن لي أن أعمل عليها في نفس الوقت.
وعدتكم بخمسة أدوات عشوائية، لكن عندما وصلت إلى هنا تذكرت أدوات و تقنيات أخرى تستحق أن يكتب عنها، مثل Meta-Programming وهي برامج تقوم بإنشاء برامج أخرى أو أجزاء منها، تذكرت كذلك “قلم الرصاص” الأداة التي قد تساعدك على حل الكثير من المشاكل ببضعة شخبطات على الورق، و طريقة Unit Testing الذي تساعدك على أن تتأكد أن الكود يعمل كما يجب و تتأكد أن أي تعديل أجريته لم يؤثر على أجزاء آخرى من البرنامج…. الخ من الأدوات الكثيرة و الممتعة، سأتوقف الآن و أكتب إليكم لاحقاً (إن شاء الله).
