تتطور وحدات المعالجة المركزية اليوم بشكل أسرع وأسرع، بدءًا من 386 و486 حتى Pentium وPentium II اليوم، ويمكن القول أن سرعة التطوير سريعة جدًا. ومع ذلك، مع التطور السريع لوحدات المعالجة المركزية، ارتفع أيضًا "وزن" البرامج التطبيقية بشكل كبير، من عدد قليل من K أو عشرات K عندما كنت أتعلم أجهزة الكمبيوتر إلى عشرات الميجابايت أو مئات الميجابايت اليوم، وقد أثر هذا التغيير عليّ أيضًا. لقد فوجئوا جميعا. لقد أدى تقدم وحدة المعالجة المركزية إلى جعل الأشخاص يعملون بشكل أسرع وزيادة الكفاءة بشكل كبير، وفي الوقت نفسه، أدى أيضًا إلى تطوير عادة الناس السيئة المتمثلة في "عدم البحث عن البساطة". رأى المؤلف ذات مرة صديقًا يكتب برنامجًا باستخدام VBA. رمز البرنامج هو كما يلي:
مع ActiveWindow
إذا كانتWindowState=wdWindowStateMaximize فهذا هو الجزء الأول!
MsgBox"ThisisaMaximizeWindow"
EndIf
إذا كانتWindowState=wdWindowStateتصغير، فهذا هو الجزء الثاني!
MsgBox"هنا نافذة تصغير"
EndIf
إذا كانتWindowState=wdWindowStateNormal فهذا هو الجزء الثالث!
MsgBox"ليس هناك مكان،نافذة عادية!"
EndIf
نهاية مع
للوهلة الأولى، يبدو أن الهيكل جميل جدًا وهو برنامج جيد. ولكن إذا قمت بتحليلها بعناية، ستجد أن هذا الإجراء فاشل. لأن هذه البرامج الثلاثة لا تنفذ البنية المنطقية التي ينبغي أن تمتلكها. أخبرت هذا الصديق بهذا الرأي، واستمع جيدًا وقام على الفور بتعديل رمز البرنامج المحدد كما يلي: WithActiveWindow
إذا كانتWindowState=wdWindowStateMaximize فهذا هو الجزء الأول!
MsgBox"ThisisaMaximizeWindow"
ElseIfWindowState=wdWindowStateتصغير إذن هذا هو الجزء الثاني!
MsgBox"هنا نافذة تصغير"
ElseIfWindowState=wdWindowStateNormal إذن هذا هو الجزء الثالث!
MsgBox"ليس هناك مكان،نافذة عادية!"
EndIf
نهاية مع
بعد أن انتهى صديقي من كتابة هذا البرنامج، ابتسم لي وقال: "كيف ذلك؟" نظرت إلى هذا البرنامج وفكرت: إذا كان WindowState لا يساوي wdWindowStateMaximize، فيجب أن أحكم على ما إذا كان WindowState يساوي wdWindowStateMaximize ماذا لو لم يساوي بعد؟ ثم عليك أن تستمر في الحكم على ما إذا كان يساوي wdWindowStateNormal. في هذه المرحلة، عليك اختراق ثلاثة "أبواب" قبل أن تتمكن من الدخول. نفد صبري وكتبت البرنامج بنفسي:
حددCaseWindowState
CasewdWindowState قم بتكبير هذا هو الجزء الأول!
MsgBox"ThisisaMaximizeWindow"
CasewdWindowStateMinimize'هذا هو الجزء الثاني!
MsgBox"هنا نافذة تصغير"
CasewdWindowStateNormal' هذا هو الجزء الثالث!
MsgBox"ليس هناك مكان،نافذة عادية!"
EndSelect
كما ترون، هذا البرنامج موجز وسهل الفهم وسهل القراءة للغاية وأعتقد أنه سيضيف الكثير من الألوان إلى البرنامج. وإذا قمت بتصحيحه، ستجد مزاياه الأخرى. لا عجب أن صديقي أدرك ذلك فجأة!
في الواقع، هناك قواعد يجب اتباعها بشأن بيان الحكم الذي يجب استخدامه. على سبيل المثال: إذا كان هناك احتمالان، فيمكنك اختيار If/Elseif دون تردد؛ بالنسبة لاحتمالين أو أكثر، فمن الأفضل اختيار SelectCase/EndSelect. في معظم الحالات، إذا كانت هناك علاقة اختيارية واحدة فقط، فسيكون "ifthen/endif" هو الخيار الأفضل. ->