حيل بسيطة لتحسين كفاءة الترميز

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

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

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

إذن ما سنلقي نظرة عليه في هذه المقالة هو الأشياء التي يمكنك القيام بها لتحسين الكفاءة وزيادة الإنتاجية.

1. بناء بيئة عمل مواتية

كل المبرمج يعمل في ظروف فريدة ، وقرائنا مجموعة متنوعة للغاية ، لذلك سيكون من الأسهل بالنسبة لبعضكم أن ينفذوا هذه الاقتراحات أكثر من الآخرين.

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

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

فكر في السماح لأعضاء الفريق بالاتصال عن بُعد

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

في الواقع ، نحن نعرف بالفعل الجواب على ذلك. يتعلق الأمر جزئيًا بالتحكم ، وجزئيًا عن جعل الأمور أكثر ملاءمة من وجهة نظر العمل (أو على الأقل الإدارة). لكن هذا الإصرار على الروتين والموقع يضر بكفاءة وإنتاجية الفريق.

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

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

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

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

تجنب الموسيقى

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

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

محاولة للحفاظ على مرتبة

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

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

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

ولكن في خضم كل هذا الترتيب ، لا تذهب إلى الخارج. هناك الكثير من العلوم الجيدة التي تشير إلى وجود قدر من الفوضى في البيئة قد تؤدي بالفعل إلى الإبداع. واحدة من أكثر الأجزاء التي يتم الاستشهاد بها بشكل متكرر في هذا البحث هو إدخال مجلة في العلوم النفسية من قبل Vohs ، و Redden & Rahinel لجامعة مينيسوتا بعنوان النظام البدني ينتج خيارات صحية ، والكرم ، والاصطلاحية ، في حين أن الاضطرابات تنتج الإبداع. ربما كان السبب وراء ذلك هو أن الصحافيين الذين يتمسكون بالورقة هو أنه يستنتج بوضوح أن: "... كان المشاركون في غرفة مضطربة أكثر إبداعًا من المشاركين في غرفة منظمة".

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

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

اترك مساحة خلفك لتهدئة أفكارك

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

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

كرئيس ، واتخاذ نهج حذر لانتقاد الجهود الإبداعية

لا حرج في النقد البناء ، ولكن عليك اختيار اللحظة المناسبة والتعامل معها بالطريقة الصحيحة ، أو يمكن أن تأتي بنتائج عكسية عن طريق جعل موظفيك أقل إنتاجية في المستقبل. بدلاً من إلهامهم وتقديم نظرة ثاقبة ، قد تجعلهم في الواقع يخافون من المخاطرة ، وهي طريقة جيدة للقضاء على الإبداع. ماريك روسكيس القيود التي تساعد أو تعوق الأداء الإبداعي: ​​نهج تحفيزييوفر إطارًا لكيفية التعامل مع تحفيز العمال المبدعين ، وتحديداً أيضًا كيفية تجنب التقليل من شأنهم عن غير قصد (إدارة الإبداع والابتكار ، Vol 24 ، Iss 2 ، 2015).

2. إنشاء SOP جيدة

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

أحد الأمثلة على المنهجية التي حاولت الشركة التي عملت بها - والتي تم إسقاطها بنفس السرعة - البرمجة الزوجية (لا يجب الخلط بينها وبين برمجة PEAR). في حين أن بعض الناس يعجبون حقًا بمنهجية العمل هذه ويثنون على مكانتها في نموذج التطور السريع ، فقد وجدنا أنها غير فعالة بشكل كبير. في البداية ، تطلب الأمر مبرمجين لكل محطة عمل ، لذلك كنت تدفع ضعف ما تدفعه مقابل أعمال التطوير الفعلية الأقل. لقد وجدنا أيضًا أن العمل بهذه الطريقة كان أبطأ كثيرًا بسبب تدفق الإيقاف / البدء المتكرر والميل إلى الحوار غير الضروري.

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

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

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

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

3. شجع الوثائق المطوّلة

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

4. تثبيط الوثائق غير الضرورية

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

5. المساحة البيضاء هي صديقك

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

6. تفضل البساطة على التعقيد

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

7. اختبار شامل

يجب اختبار الرمز بشكل تدريجي وغالبًا. قبل نشر أي شيء ، يجب إجراء أكبر قدر ممكن من الاختبارات الداخلية ، حتى لو تم تعيين الإصدار الأول الخاص بك على Alpha.

8. استخدام التحكم في الإصدار

يجب أن تكون مجنونا من عدم استخدام التحكم في الإصدار في مشروع كبير. بدون ذلك ، لن تكون محميًا من أخطائك البسيطة ، كما أنه من السهل حقًا أن يقوم أحد أعضاء الفريق بتخريب الشفرة عن قصد (أو عن قصد) عن طريق الكتابة فوقها بشيء لا يرضيك.

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

بوجدان رانسيا

بوجدان هو أحد الأعضاء المؤسسين لشركة Inspired Mag ، حيث اكتسب خبرة تقرب من سنوات 6 خلال هذه الفترة. يحب في وقت فراغه دراسة الموسيقى الكلاسيكية واستكشاف الفنون البصرية. انه مهووس جدا مع إصلاحات كذلك. يمتلك 5 بالفعل.