مهارات التعريف المطور البرمجيات

التعلم من الكتب حول الصواب والتعرف على الأنماط



زوجان من الأفكار حول كيفية بناء البرامج بشكل جيد.

في الآونة الأخيرة ، سأل أحد الأصدقاء عن مهارات محددة يمتلكها مطورو البرامج.

ما هي المهارات الفريدة التي يمارسها ممارسو التنمية؟

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

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

صحة


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

يعتبر التصحيح في التنمية مدى صحته "كيف" بحيث يمكن أن يستمر حل الأعمال في حل المهام بمستوى عالٍ من الموثوقية والكفاءة. هذه العملية هي التوازن بين الاستراتيجية (التصميم) والتكتيكات (التنفيذ).

من الأفضل تمثيل دراسة عن كيفية "كيف" في الفراغ في الجزء الرابع من الفصل الأول من برمجة اللآلئ - كتابة البرامج الصحيحة .

... عادة ما يكون الحفاظ على رمز بسيط هو مفتاح التصحيح.
- جون بنتلي

التعرف على الأنماط


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

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

تتم مناقشة التعرف على الأنماط في المجتمع وهناك العديد من المصادر حيث يمكنك القراءة حول طرق التعرف. علمت عن هذا في الفصل الثاني من المبرمج البراغماتي - شرور الازدواجية ( المبرمج البراغماتي - شر الازدواجية).

تسهيل إعادة الاستخدام. لا تكرر.
- أندرو هانت وديف توماس

ملاحظة مثيرة للاهتمام


حالما أعطيت هذا الجواب ، طرح صديقي سؤالاً مضادًا.

إذا كانت الصواب والتعرف على الأنماط هي هذه المهارات ، كيف تتعلمها؟

بالطبع كانت إجابتي بسيطة للغاية:

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

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

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

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

الخلاصة


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

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



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

المقالة الأصلية

Source: https://habr.com/ru/post/ar420923/


All Articles