في بعض الأحيان، عندما أذهب إلى أحد مواقع تكنولوجيا المعلومات، أجد أن هناك أشياء كثيرة تسعى إلى الحداثة، والجدة، والتخصص، والتحيز! يمكن القول أن هناك كل شيء في العالم! ولكن في مواجهة الوضع الحالي للبرامج الصينية، نجد من ناحية أن هناك العديد والعديد من البرامج العملية قيد التجميع، والعديد من الأشخاص يعملون لوقت إضافي وهم مشغولون للغاية، ولا يزال هناك الكثير والكثير برامج عملية لم يطورها أحد وينتظرها أحد. ومن ناحية أخرى وجدنا أيضًا أن هناك الكثير من المبرمجين العاطلين عن العمل الذين لا يعرفون ما الذي يريدون تطويره! لا أعرف ما هي مهارات البرمجة التي أحتاج إلى إتقانها، لذلك أقضي الكثير من الوقت في تعلم هذا وذاك عبر الإنترنت ، وهو أمر مفجع. كثير من المبرمجين لا يعلمون أن أكثر ما تفتقر إليه هذه البرامج العملية حاليًا ليس أشياء جديدة أو غريبة أو متخصصة أو متحيزة، بل التكنولوجيا العملية، والجودة والمهارات في تطبيق التكنولوجيا العملية.
وبما أن البرمجة هي "كل الطرق تؤدي إلى روما"، فإن المبرمجين يتمتعون باستقلالية كبيرة ويمكنهم استخدام أي طريقة لتنفيذ الوظائف، مما يؤدي إلى مستويات برمجة غير متساوية. أعتقد أنه يجب على المبرمجين إتقان مهارات البرمجة العملية لإتقان هذه المهارات، يجب عليهم إتقان جوهر هذه المهارات فقط من خلال الفهم الشامل لهذه الجوهرات، يمكنهم تلخيص نطاق تطبيقهم ونقاط الاهتمام: وهؤلاء المبرمجون الذين يعرفون فقط كيفية كتابة البرامج. ولكن لا أعرف لماذا تتم كتابتها بهذه الطريقة، فقد لا يكون من الممكن استخدام أفضل العبارات وأبسط العبارات وأنسب العبارات لكتابة البرامج، ناهيك عن استخدام مهارات أعلى لدمج هذه العبارات لتحقيق جودة عالية البرامج.
في ممارسة البرمجة طويلة المدى، أعتقد أن مهارات البرمجة التالية هي الأساس ويجب إتقانها لتعلمها.
1. المهمة
يعد الواجب بيانًا أساسيًا لا غنى عنه في البرمجة، وهو البيان الأساسي. يبدو إتقان هذه العبارة أمرًا بسيطًا للغاية، ولكن كلما كان الأمر أبسط، زاد الاهتمام الذي تحتاج إلى الاهتمام به. أبسط مهمة هي تعيين قيمة لمتغير. على سبيل المثال س=1.
إن جوهر التكليف هو النقل بين الأشياء. علاوة على ذلك، فإن التعيين بحد ذاته هو عملية وسيطة، والمعنى الذي ينعكس على مستوى الكود هو تعيين قيمة أو مؤشر ذاكرة في الذاكرة لمؤشر الذاكرة.
هناك جانبان للتكليف: أحدهما: ما هي القيمة أو المتغير أو الكائن المأخوذ، والآخر: ما المتغير أو الكائن المخصص له. عندما يقوم المبرمجون بالبرمجة، غالبًا ما يتم الخلط بينهم في جانبين: ما هي القيم والمتغيرات والكائنات التي أحصل عليها، وكيفية العثور على هذه القيم والمتغيرات والكائنات، ولمن أقوم بتعيينها بعد أن أحصل عليها. وهذا ما نواجهه في كثير من الأحيان.
عندما نقوم بتعيين القيم يجب أن ننتبه إلى:
1) يجب أن تكون أنواع البيانات على طرفي المعادلة متساوية.
2) بيانات التخصيص أسرع من العبارات الأخرى. وينبغي ملاحظة ذلك عند التركيز على الكفاءة.
تعد عبارات التعيين أسرع من استدعاءات الوظائف وأسرع من عبارات الحلقة.
على سبيل المثال: يتم كتابة بيان حلقة في حلقة ضخمة:
ل(i=0;i<3;i++)
أ[i]=i+1;
قد يحولها أيضًا إلى بيان مهمة:
أ[0]=1;
أ[1]=2;
أ[2]=3;
3) عندما تكون هناك بيانات مهمة متعددة، قد تكون معالجة المهمة متسلسلة.
4) هناك عدد كبير جدًا من بيانات المهمة (أكثر من 20، والتي يصعب قراءتها ولا تحتوي على محتوى دائري قد يلزم أخذها في الاعتبار).
2. المعالجة المشروطة
المعالجة الشرطية تأتي في المرتبة الثانية بعد معالجة المهام في محتوى البرمجة، وتغييرات البرنامج ناتجة بشكل أساسي عن المعالجة الشرطية. سيتم تنفيذ معالجة مختلفة عند استيفاء شروط مختلفة. لذلك، فإن جوهر المعالجة الشرطية هو أن التغييرات في الأشياء تؤدي إلى تغييرات مقابلة.
في ممارسة البرمجة، كثيرًا ما نرتبك بشأن: ما هي الشروط؟ ما يجب القيام به؟ وفكر أيضًا في متى تبدأ في النظر في الشروط.
معالجة الواجب هي معالجة تسلسلية. يزيد الشرط من إمكانية معالجة المهمة. عند استيفاء الشرط، قد يتم تنفيذ المهمة "أ". وعندما لا يتم استيفاء الشرط، قد يتم تنفيذ المهمة "ب".
عند معالجة الشروط يجب أن ننتبه إلى:
1) كيف نختار شروطي؟ هذا هو تعبيرنا الشرطي.
في الواقع، هذه القضية معقدة للغاية.
على العموم سنأخذ الشرط الأهم كالشرط الأول. ومع ذلك، فإننا سننظر أيضًا في شرط مجموعة النتائج الأكبر التي تفي بالشرط باعتباره الشرط الأول. غالبًا ما لا يمكن تلبية هذه الشروط النهائية، أو حتى بعد استيفائها، فإنها لا تتطلب الكثير من المعالجة.
من تصميم التعبيرات الشرطية، يمكننا استخدام متغير واحد لتمثيل الشرط، أو عمليات متغيرات متعددة لتمثيل الشرط. يمكن تمثيل متغير واحد بأنواع رقمية أو حرفية أو منطقية. ومن بينها، فهي أيضًا خاصة جدًا.
على سبيل المثال. العلم==1;العلم=='1';العلم==صحيح
يمكن أن يسمح كلاهما بنقل شروط البرنامج، ولكن هناك العديد من العوامل التي يجب مراعاتها عند كيفية الاختيار.
2) دعونا لا نترك الاستثناءات
على سبيل المثال، عندما نعتبر i=1 وi=2، فإننا لا نعتبر i<1 وi>2.
غالبًا ما يشير إغفال الشروط إلى أن مبرمجينا يفتقرون إلى المفهوم الشامل ومفهوم الاستثناءات. وهذا هو أحد أسباب سوء كتابة العديد من البرامج.
3) لا يمكن أن يكون هناك أي تقاطع بين الشروط
على سبيل المثال:
إذا (i>1 &&i<=5)
س=1;
إذا (i>4&&i<10)
س=2;
عندما أنا = 5،
x تساوي 1 أولاً، ثم تساوي 2. يجب تجنب هذا. ترتبط العديد من أخطاء البرنامج بمثل هذه المشكلات.
4) إيلاء اهتمام خاص لتغطية المعالجة المشروطة.
على سبيل المثال: إذا (العلم==1)
س = 1؛
إذا (العلم ==2)
س = 2؛
س = 5؛
بغض النظر عن الظروف، x تساوي دائمًا 5.
5) كن على دراية بالتعديلات الخاصة بكل من حالة وحالة. اعرف متى تستخدم حالة if ومتى تستخدمها.
3. دورة
الحلقة هي تعبير بسيط عن العمليات المتكررة، طالما أن هناك عمليات متكررة، يمكن استخدام عبارات الحلقة. جوهر الدورات هو التكرار.
عند معالجة الحلقات يجب أن ننتبه إلى ما يلي:
1) تعد المعالجة الدائرية جانبًا مهمًا يؤثر على الكفاءة
عندما تكون هناك مشكلة في الكفاءة في البرنامج، يجب عليك أولاً البحث عنها في بيان الحلقة.
2) المتطلبات الأساسية لمعالجة الحلقة
بشكل عام، يمكن استخدام عبارات الحلقة لعمليات التنفيذ المتكررة أكثر من ثلاث مرات. لأقل من ثلاث مرات، من الأفضل عدم استخدام عبارات الحلقة.
على سبيل المثال:
من أجل (i=0;i<3;i++)
ب[i]=i;
من الأفضل أن تكتب:
ب[0]=0;
ب[1]=1;
ب[2]=2;
بالطبع، من حيث سهولة القراءة وقابلية التوسع، يمكن أيضًا استخدام عبارات الحلقة.
3) تستخدم شروط الحلقة المختلفة عبارات حلقة مختلفة
يحتاج المبرمجون إلى معرفة متى يستخدمون for، ومتى يستخدمون do while، ومتى يستخدمون foreach.
على الرغم من أن العبارات المذكورة أعلاه يمكن أن تحقق نفس الغرض، إلا أن المبرمجين ما زالوا بحاجة إلى معرفة نطاق تطبيقهم حتى يكونوا أكثر ملاءمة.
4) الاستفادة الكاملة من البيانات الموجودة في الحلقة، مثل حلقة المقاطعة، وحلقة المتابعة، وإرجاع الوظيفة، وخروج البرنامج، وما إلى ذلك، لجعل الحلقة أكثر سخونة.
4. عمليات السلسلة
السلاسل هي تمثيل مهم للمعلومات. تعد معالجة السلسلة إحدى العمليات الأكثر استخدامًا في البرمجة. جوهر عملية السلسلة هو معالجة المعلومات. نظرًا لعدم وجود معايير لكثير من المعلومات، يقوم المبرمجون بمعالجتها لتتوافق مع متطلباتهم القياسية.
على سبيل المثال: بعض السلاسل تحتوي على معلومات متنوعة، فيجب تقسيم السلاسل؛ بعض السلاسل تفتقد معلومات، ثم يجب دمج السلاسل.
انتبه بشكل أساسي إلى الجوانب التالية عند تشغيل السلاسل:
1) معالجة السلسلة الفارغة
نظرًا لأن السلسلة الأصلية ستحتوي على عدة مسافات في بداية السلسلة ونهايتها لأسباب تشغيلية وأسباب تتعلق بالنظام، فيجب إزالة المسافات قبل معالجة السلسلة.
2) معالجة التعليمات البرمجية المشوهة
توجد أحرف مشوهة مختلفة في بعض السلاسل، مما يتسبب في ظهور أحرف غير مفهومة في عرض السلسلة. تحدث هذه المواقف بشكل أساسي بسبب وجود رموز أحرف التحكم في السلاسل وعدم تطابق الأحرف في الأحرف الصينية.
3) معالجة المحدد
غالبًا ما تظهر المحددات في سجل أو معلمة لفصل المعلومات، ويمكن إخراج المعلومات من خلال المحددات. من الناحية العملية، قد يحدث أن يحتوي محتوى المعلومات نفسه على محددات، أو يتم إنشاء محددات أثناء إنشاء تعليمات برمجية مشوهة. في هذه الحالات، يجب تغيير المحددات أو إجراء معالجة خاصة.
4) التحويل بين الأحرف وأنواع البيانات الأخرى
في البرمجة الفعلية، غالبًا ما يتطلب تناسق الكائنات التي نعمل عليها عملية تحويل السلاسل إلى أنواع بيانات أخرى، أو تحويل أنواع البيانات الأخرى إلى سلاسل. بشكل عام، من الأسهل تحويل أنواع البيانات الأخرى إلى سلاسل، ولكن عند تحويل السلاسل إلى أنواع بيانات أخرى، يجب عليك مراعاة ما إذا كان تنسيق السلسلة قبل التحويل يلبي المتطلبات.
على سبيل المثال: لتحويل "1,000,000" إلى قيمة عددية، قم بإزالة "" قبل التحويل.
5) معالجة السلسلة الفرعية
غالبًا ما يتم استخدام معالجة السلسلة الفرعية في الاستعلامات. هناك ثلاثة أنواع من مطابقة السلسلة الفرعية: الأمامية والمتوسطة والأخيرة. غالبًا ما تستغرق مطابقة السلسلة الفرعية وقتًا أطول، فكلما كانت السلسلة الفرعية أقصر وكلما كانت سلسلة الاستعلام أطول، كلما استغرقت وقتًا أطول. عند الاستعلام في الحقل المفهرس، يمكن للمطابقة الأولى فقط استخدام الفهرس لتحقيق غرض الاستعلام السريع، ومع ذلك، إذا تم استخدام التطابقات الوسطى واللاحقة، فسيكون الفهرس غير صالح، ويجب مطابقة كل سجل واحدًا تلو الآخر ، والتي تستغرق أطول وقت. يجب على المبرمجين فهم المحتوى أعلاه والاستفادة من الموقف من أجل معالجة السلاسل الفرعية بشكل صحيح لتحقيق أغراض الاستعلام السريع.
5. العمليات الحسابية
العمليات الحسابية تأتي في المرتبة الثانية بعد عمليات السلسلة في البرمجة. من بينها، إضافة 1 لها العديد من العمليات وتستخدم على نطاق واسع. تُستخدم عمليات الجمع والطرح والضرب والقسمة بشكل شائع في برامج التطبيقات العامة. جوهر العمليات الحسابية هو معالجة المعلومات الرقمية. العمليات الحسابية هي متطلبات خوارزمية للتطبيقات العملية من ناحية، وخوارزميات البرمجة من ناحية أخرى.
على سبيل المثال، يحتاج نظام التطبيق إلى حساب مساحة المستطيل. ثم سيتم كتابة عبارة S=L*D.
إذا كنت ترغب في برمجة وحساب مساحة 100 مستطيل، فأنت بحاجة إلى مؤشر لحساب مساحة المستطيل التالي من خلال المؤشر + 1. تتم زيادة المؤشر بمقدار 1. هذه العملية مطلوبة بواسطة الخوارزمية.
تُستخدم العمليات الحسابية في التطبيقات التي تكون فيها حسابات الصيغة بسيطة نسبيًا. ومع ذلك، فإن التقنيات وتنفيذ العمليات الحسابية المستخدمة في الخوارزميات ليست بهذه البساطة. النقاط الرئيسية التي يجب ملاحظتها هي: تحديد بعض المتغيرات الوسيطة، وتحويلها إلى عمليات حلقة من خلال جمع وطرح المتغيرات الوسيطة.
6. المصفوفة
المصفوفة عبارة عن مجموعة تقوم بتخزين البيانات، كما أن عمليات المصفوفة شائعة أيضًا في البرمجة: جوهر المصفوفة هو مجموعة من الأشياء. ومع ذلك، تجدر الإشارة إلى أن عدد كائنات المجموعة محدود، ويتم تخزين مصفوفتها في الذاكرة، لذا فإن عمليات المصفوفة سريعة جدًا. جزء كبير من استخدام المصفوفات هو استخدام عبارات الحلقة. يؤدي الجمع بين المصفوفات والحلقات إلى تحسين جودة البرامج بشكل كبير.
بالنسبة للمصفوفات يجب أن ننتبه إلى:
1. القضايا المتعلقة بعدد المصفوفات
2. طريقة التمثيل وشكل التخزين للمصفوفات متعددة الأبعاد
3. مشكلة المصفوفة خارج الحدود
4. مجموعة فارغة
5. استخدام المصفوفات في بيانات الحلقة.
مرفق: اعتقدت أن هذا الموضوع يمكن حله في مقال واحد، لكن كلما كتبت أكثر، لم يكن لدي خيار سوى تبسيطه ثم تبسيطه، لذلك دعونا نكتبه على أجزاء.
المقال التالي "مهارات البرمجة العملية التي يجب على المبرمجين إتقانها 2"
المحتوى الرئيسي:
7. اتصل
8. عمليات الملف
9. العمليات المنطقية
10. المصفوفة
11. قاعدة البيانات
12. الضوابط
13. الطبقة
14. المعلمة