كيف وغالبا ما كنت تستخدم شبة الكود في العالم الحقيقي ؟

StackOverflow https://stackoverflow.com/questions/360454

  •  21-08-2019
  •  | 
  •  

سؤال

في الجامعة فقط استخدام البرمجية الزائفة كان بشر أكثر من OOP في المناهج الدراسية.تماما مثل التعليق (وغيرها من بشر 'أفضل الممارسات'), لقد وجدت أنه في وقت أزمة psuedocode غالبا ما تهمل.لذا سؤالي هو الواقع الذي يستخدمه الكثير من الوقت ؟ أو هل تستخدم فقط عندما خوارزمية هو حقا من الصعب تصور تماما في رأسك ؟ أنا مهتم في الردود من الجميع:الرطب-خلف-آذان صغار المطورين أشهب الأطباء البيطريون الذين كانوا في الخلف في بطاقة لكمة أيام.

أما بالنسبة لي شخصيا, أنا في الغالب استخدامه فقط على الاشياء الصعبة.

هل كانت مفيدة؟

المحلول

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

العمل مع الفريق على منصات متعددة (جافا الأمامية مع COBOL الخلفية, في هذه الحالة) أسهل بكثير شرح كيف قليلا من التعليمات البرمجية يعمل باستخدام شبة الكود من ذلك هو إظهار رمز حقيقي.

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

نصائح أخرى

يمكنني استخدام شبة الكود عندما تكون بعيدا عن الكمبيوتر سوى ورقة و قلم.فإنه لا معنى كبير للقلق حول بناء الجملة البرمجية التي لن ترجمة (لا يمكنك تجميع الورق).

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

أنا المطورين الآخرين على فريقي استخدامها في كل وقت.في رسائل البريد الإلكتروني, السبورة, أو فقط في confersation.Psuedocode هو ريك لمساعدتك على التفكير في الطريقة تحتاج إلى أن تكون قادرة على البرنامج.إذا كنت حقا unstand psuedocode يمكنك القبض على ما يقرب من أي لغة البرمجة لأن الفرق الرئيسي بينهما هو بناء الجملة.

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

procedure GetTextFromValidIndex (input int indexValue, output string textValue)
// initialize
// check to see if indexValue is within the acceptable range
//    get min, max from db
//    if indexValuenot between min and max
//       then return with an error
// find corresponding text in db based on indexValue
// return textValue
   return "Not Written";
end procedure;

أنا أبدا, ولا حتى مرة واحدة ، هناك حاجة إلى كتابة شبة الكود من البرنامج قبل كتابة هذا التقرير.

ومع ذلك, أحيانا كان علي أن أكتب شبة الكود بعد كتابة التعليمات البرمجية ، والذي عادة ما يحدث عندما أحاول وصف رفيع المستوى تنفيذ برنامج للحصول على شخص ما يصل الى سرعة مع رمز جديد في فترة قصيرة من الزمن.و "التنفيذ الرفيع المستوى" ، أعني سطر واحد من شبة الكود يصف 50 أو حتى خطوط C#, على سبيل المثال:

Core dumps a bunch of XML files to a folder and runs the process.exe
  executable with a few commandline parameters.

The process.exe reads each file
    Each file is read line by line
    Unique words are pulled out of the file stored in a database
    File is deleted when its finished processing

هذا النوع من شبة الكود هو جيد بما فيه الكفاية لوصف ما يقرب من 1000 خطوط من التعليمات البرمجية ، و جيدة بما فيه الكفاية بدقة تبلغ مبتدئ ما هو البرنامج به فعلا.

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

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

أنا استخدامها قدر على ستاكوفيرفلوو.

أنا لا استخدام شبة الكود كما هو يدرس في المدرسة و لم تكن في وقت طويل جدا.

أنا لا تستخدم اللغة الإنجليزية أوصاف خوارزميات عندما منطق معقد بما يكفي لتبرير ذلك ؛ انهم يسمى "تعليقات".;-)

عند شرح الأشياء للآخرين ، أو عمل الأشياء على الورق, يمكنني استخدام الرسوم البيانية قدر الإمكان - أبسط أفضل

ستيف McConnel هو رمز كاملة, في الفصل 9 "في شبة الكود عملية البرمجة" يقترح مقاربة مثيرة للاهتمام:عند كتابة وظيفة أطول من بضعة أسطر ، استخدام بسيط شبة الكود (في شكل تعليقات) عرض ما وظيفة/الإجراء يحتاج إلى القيام به قبل كتابة رمز الفعلي الذي يقوم به.شبة الكود التعليقات ثم يمكن أن تصبح التعليقات الفعلية في جسم الدالة.

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

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

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

أنا أيضا تدفق مخططات uml أو نوع الرسوم البيانية عندما تحاول أن تفعل أعلاه أيضا...

عموما أنا استخدامها عند وضع متعددة إذا كان آخر البيانات المتداخلة التي يمكن أن يكون مربكا.

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

نادرا, على الرغم من أنني في كثير من الأحيان الوثيقة طريقة قبل كتابة الجسم منه.

ومع ذلك ، إذا أنا أساعد مطور آخر مع كيفية التعامل مع مشكلة, أنا في كثير من الأحيان إرسال رسالة بريد إلكتروني مع شبة الكود الحل.

أنا لا استخدام شبة الكود في كل شيء.أنا أكثر راحة مع جملة من ج على غرار اللغات من أنا مع شبة الكود.

ماذا كنت تفعل تماما في كثير من الأحيان لأغراض التصميم هو أساسا وظيفية التحلل أسلوب الترميز.

public void doBigJob( params )
{
    doTask1( params);
    doTask2( params);
    doTask3( params);
}
private void doTask1( params)
{
    doSubTask1_1(params);
    ...
}

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

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

أنا لم تستخدم أو استخدامه.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top