freeCodeCamp/guide/arabic/developer-ethics/the-programmers-oath/index.md

11 KiB

title localeTitle
The Programmers Oath قسم المبرمجين

قسم المبرمجين

إن Programmers Oath عبارة عن قسم تم إنشاؤه بواسطة Robert C. Martin ، مما يسلط الضوء على الإرشادات الخاصة بشبكة أفضل. يقسم اليمين على النحو التالي:

من أجل الدفاع عن شرف مهنة مبرمجي الكمبيوتر والمحافظة عليه ، أعدك بأقصى ما في قدرتي وحكمتي:

  1. لن أخرج الكود الضار.
  2. دائمًا ما يكون الرمز الذي أقوم بإنتاجه هو أفضل عمل. لن أسمح عن علم برمز معيب سواء في السلوك أو البنية يتراكم.
  3. سوف أقوم ، مع كل إصدار ، بإصدار دليل سريع ومؤكد وقابل للتكرار على أن كل عنصر من عناصر الرمز يعمل كما ينبغي.
  4. سأقوم بإصدار إصدارات متكررة وصغيرة لكي لا أعرقل تقدم الآخرين.
  5. سوف أحاول بلا خوف وبلا هوادة تحسين إبداعاتي في كل فرصة. لن أتحلل أبدًا.
  6. سأفعل كل ما بوسعي للحفاظ على إنتاجية نفسي ، والآخرين ، على أعلى مستوى ممكن. لن أفعل أي شيء يقلل من هذه الإنتاجية.
  7. سوف أضمن بشكل مستمر أن الآخرين يمكنهم تغطية لي ، وأنه يمكنني تغطية لهم.
  8. سوف أخرج تقديرات صادقة من حيث الحجم والدقة. لن أقدم الوعود دون يقين.
  9. لن أتوقف أبداً عن التعلم وتحسين مهاراتي.

سلسلة الويب على قناة freeCodeCamp تقسم ما يعنيه القسم ، وكيفية اتباع القسم.

وعد 1

  1. لن أخرج الكود الضار.

ما هو كود ضار؟

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

وعد 2

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

باعتبارك مبرمجًا ، فأنت تريد أن تؤمن بعمل أفضل ما لديك ، وأنك لا تريد أبدًا أن تكون في وضع لا يعد فيه الرمز الذي تنشره أفضل أعمالك.

لا ترغب في السماح بتراكم الرموز التالفة في نظامك. قد لا تتمكن من منعه من الدخول إلى نظامك (على سبيل المثال ، حالة الطوارئ) ، ولكنك لن تسمح له بالتنقل حتى يتراكم.

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

وعد 3

  1. سوف أقوم ، مع كل إصدار ، بإصدار دليل سريع ومؤكد وقابل للتكرار على أن كل عنصر من عناصر الرمز يعمل كما ينبغي.

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

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

وعد 4

  1. سأقوم بإصدار إصدارات متكررة وصغيرة لكي لا أعرقل تقدم الآخرين.

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

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

وعد 5

  1. سوف أحاول بلا خوف وبلا هوادة تحسين إبداعاتي في كل فرصة. لن أتحلل أبدًا.

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

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

وعد 6

  1. سأفعل كل ما بوسعي للحفاظ على إنتاجية نفسي ، والآخرين ، على أعلى مستوى ممكن. لن أفعل أي شيء يقلل من هذه الإنتاجية.

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

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

وعد 7

  1. سوف أضمن بشكل مستمر أن الآخرين يمكنهم تغطية لي ، وأنه يمكنني تغطية لهم.

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

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

إذا نزلوا ، لا نريد أن يكون لدينا صوامع للمعرفة بفرقنا ، نريد أن تنتشر المعرفة حولها.

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

وعد 8

  1. سوف أخرج تقديرات صادقة من حيث الحجم والدقة. لن أقدم الوعود دون يقين.

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

لا تقدم الوعود بأنك لست متأكدًا من أنه يمكنك إكمالها. إذا قدمت وعدًا ، فعليك الاحتفاظ به.

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

وعد 9

  1. لن أتوقف أبداً عن التعلم وتحسين مهاراتي.

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

وعد 10

  1. سأقوم فقط بإنتاج رمز يتوافق مع الأخلاقيات.

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

فى الختام:

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