ما هي "التخصصات" التي يجب على مبرمجي جافا الالتزام بها؟
1. أضف التعليقات إلى الكود الخاص بك. كم مرة "نسيت" إضافة تعليقات؟ في الواقع ، لن تضيف التعليقات أي وظيفة وظائف إلى برنامجك. ولكن كم مرة رأيت الرمز المكتوب قبل أسبوعين ولا يمكنك أن تتذكر ماذا يفعل؟ أنت محظوظ لأن هذه الرموز غير المكتوبة من قبل نفسك وستظل لديك انطباع متبقي في عقلك. لسوء الحظ ، في معظم الأوقات ، كتب رمز شخص آخر ، ومن المرجح أن يكون هذا الشخص قد غادر الشركة. هناك مثال يسير على ما يرام: "هناك فائدة قادمة ، والمنفعة المتبادلة" ، لذلك يجب أن يكون المبرمجون مراعاة لبعضهم البعض (ونفسك) والتعليق على الكود الخاص بك.
2. لا تعقد الأشياء. يميل المطورون إلى استخدام طرق معقدة لحل المشكلات البسيطة. لقد قدمنا EJB في نظام مع 5 مستخدمين فقط لتنفيذ مجموعة من الأطر لتطبيق لا يتطلب إطار عمل ، باستخدام ملفات السمات ، والحلول الموجهة للكائنات ، واستخدام مؤشرات الترابط ، ولكن هذه ليست ضرورية على الإطلاق. لماذا هذا؟ قد لا يعرف البعض أن هناك حلًا أفضل ، ولكن قد يقوم الآخرون بذلك عن قصد لتعلم أشياء جديدة ، أو ببساطة لأنه ممتع. بالنسبة لأولئك الذين لا يعرفون حلًا أفضل ، استمعوا أكثر إلى نصيحة المبرمجين ذوي الخبرة. بالنسبة لأولئك الذين يعقدون التصميمات بحتة لأغراض شخصية ، أقترح عليك أن تكون أكثر احترافًا.
3. تذكر - ضع في اعتبارك أن "أقل أكثر" ليس أفضل. انظر مثال "بسيط" التالي:
if (newstatuscode.equals ("sd") && (selloffdate == null || اليوم date.compareto (selloffdate) <0 || (lastuseddate! = null && todaydate.compareto (lastuse ddate)> 0)) || (newstatuscode. يساوي ("obs") && (obsdate == null || todaydate.compareto (obsdate) <0)) {newstatuscode = "nyp" ؛ما مدى صعوبة الإشارة إلى ما هي هذه الحالة؟ تخيل مرة أخرى أن الشخص الذي كتب هذا الرمز لم يتبع المادة 1 - إضافة تعليقات إلى الكود.
أليس من الأسهل أن تتحلل إذا كانت الظروف 2 إذا كانت عبارات؟ الآن دعونا نلقي نظرة على الكود المعدل:
if (newstatuscode.equals ("sd") && (selloffDate == null || todaydate.compareto (selloffdate) <0 || (lastusedDate! = null && todaydate.compareto (lastuse ddate)> 0)))) {newstatuscode = " NYP "؛} آخر إذا (newstatuscode.equals (" obs ") && (obsdate == null || اليوم datedate.compareto (obsdate) <0)) {newstatuscode =" nyp "؛}أليس هذا أفضل من قابلية القراءة؟ في الواقع ، كتبنا بيانات متكررة ؛
4. لا "الترميز الصعب من فضلك". ومع ذلك ، هناك احتمال آخر هو أنه من خلال اتباع هذه المبدأ ، لن نقع في معضلة "الوقت الزمني". كم من الوقت يستغرق تحديد متغير نهائي ثابت وإضافة سطر من التعليمات البرمجية؟ على سبيل المثال:
الفئة العامة A {Static Final String S_CONSTANT_ABC = "ABC" ؛الآن ، في كل مرة نحتاج فيها إلى مقارنة السلسلة "ABC" بمتغير ، نشير فقط إلى A.S_Constant_ABC دون تذكر ماهية. تعديل هذا الثابت هو أيضا مريح للغاية.
5. لا تخترع الأطر الخاصة بك. العديد من الأطر هي حلول مثالية للغاية وقد تم استخدامها في الآلاف من الأنظمة. نحتاج فقط إلى الانتباه إلى أحدث الأطر الشعبية وعلى الأقل نكون على دراية بها على السطح. أحد الأمثلة الأكثر نجاحًا والاستخدام على نطاق واسع هو إطار عمل Struts ، وهو إطار ويب مفتوح المصدر يمثل اختيارًا ممتازًا لبناء أنظمة الويب. ولكن يجب أن تتذكر مبادئ المادة 2 (ملاحظة المترجم: النص الأصلي هو "المادة 3" ، من الواضح أنه غير صحيح) - لا تعقد الأشياء البسيطة. إذا كان النظام الذي تريد تطويره يحتوي فقط على 3 واجهات ، فلا تستخدم الدعامات. ، لذلك قال المؤلف أنه لا يوجد الكثير من "السيطرة" المطلوبة).
6. قل لا لطباعة الخطوط وسلسلة التسلسل. لكننا ننسى حذف هذه الخطوط أو لا يرغبون في حذفها. من المحتمل أن يؤدي هذا إلى خط من الكود الذي نحتاجه عن طريق الخطأ. لا تقلل من ضرر system.out.println ، راجع الكود التالي:
الفئة العامة badcode {public static void calculationWithPrint () {double SomeValue = 0d ؛ () {double SomeValue = 0d ؛ COLACULITYWITHOUTPRINT () ؛كما يتضح من الجدول أدناه ، فإن وقت تنفيذ طريقة الحساب () هو 0.001204 ثانية.
(إذا كنت تريد معرفة كيفية صنع طاولة مثل هذا ، يرجى قراءة مقال آخر "Java Perfiling with WSAD" Java Perffing with WSAD)
لتجنب نفايات وحدة المعالجة المركزية ، أفضل طريقة هي تقديم طريقة غلاف ، على النحو التالي:
الطبقة العامة badcode {public static int debug_mode = 1 ؛ = SomeValue + I ؛ static void main (string [] n) {badcode.calculationWithPrint (badcode.production_mode) ؛اتصال السلسلة هو وسيلة أخرى لإهدار وحدة المعالجة المركزية ، انظر المثال التالي:
ConcateStrings الثابتة (string startingstring) {for (int i = 0 ؛ i <20 ؛ i ++) {startingString = startingstring+startingstring ؛ إلحاق (int i = 0 ؛ i ++)من الجدول أدناه ، يمكننا أن نرى أن استخدام StringBuffer يكلف فقط 0.01 ثانية أثناء استخدام اتصال السلسلة يتطلب 0.08 ثانية.
7. انتبه إلى واجهة المستخدم الرسومية. واجهة المستخدم الرسومية أمر بالغ الأهمية لنجاح طلبك. غالبًا ما يتجاهل مديرو تكنولوجيا المعلومات أهمية واجهة المستخدم الرسومية. يتعين على مبرمجي Java الاعتماد على معرفتهم المحدودة HMTL. لقد رأيت الكثير من التطبيقات التي هي "سهلة الكمبيوتر" بدلاً من "سهلة الاستخدام" وهي نادرة للمطورين الذين يتقنون تطوير البرمجيات وتطوير واجهة المستخدم. إذا كنت مبرمجًا Java تم تعيينه للأسف لإجراء تطوير الواجهة ، فيجب عليك اتباع القواعد الثلاثة التالية:
أ. انتقل لرؤية واجهات مماثلة لنظام التطبيق.
ب. هذه الخطوة أمر بالغ الأهمية. يحب العملاء رؤية ما يريدون استخدامه مقدمًا. يمكنك أيضًا الحصول على ملاحظاتهم بدلاً من العمل الجاد لإنشاء شيء لا يحبهم العملاء.
ج. بمعنى آخر ، عرض المتطلبات من منظور المستخدمين. على سبيل المثال ، يمكن وضع واجهة إحصائية أم لا. كمطور ، من المحتمل أن يتجاهل الترحيل لأنه سيقلل الكثير من المتاعب ؛
8. إعداد متطلبات المستند مقدمًا. يمكن تحقيق ذلك في حكايات خرافية ، ولكن من الصعب القيام به في الواقع. بغض النظر عن مدى ضيقة الوقت ، بغض النظر عن مدى قرب الموعد النهائي ، يجب عليك التأكد من تسجيل احتياجات العمل. (ملاحظة المترجم: من الواضح أن هذا المفهوم يتعارض مع التنمية الرشيقة. يجب على الجميع التفكير بشكل مستقل ويميز الصواب عن الخطأ)
9. اختبار الوحدة ، اختبار الوحدة ، اختبار الوحدة. اختبار الوحدة. الاختبار). . هذه هي القاعدة الأساسية في البرمجة ، ولا يمكن تجاهلها. إذا كان بإمكان زملائك إنشاء خطة اختبار لكودك ، فسيكون ذلك أفضل ؛ عند إجراء خطط اختبار الوحدة ، اتبع المبادئ التالية:
أ.
ب.
ج.
10. تذكر: الجودة ، وليس الكمية. أعلم أنه في بعض الأحيان لا يمكنني الخروج من العمل في الوقت المحدد بسبب مشاكل المنتج أو المواعيد النهائية أو حالات الطوارئ الأخرى. لكن المدير لن يقدرك أو يكافئك بسبب فوات الأوان للمشاكل العامة ؛ إذا اتبعت مبادئ العمود أعلاه ، فسوف تكتب برامج أكثر قوة وخالية من الأخطاء. هذا هو ما يجب عليك فعله أكثر من ذلك.
تلخص هذه المقالة أهم 10 القواعد التي يجب على مبرمجي Java الانتباه إليها. مجرد معرفة لا يكفي ، اتبعهم. آمل أن تمكننا هذه القواعد من أن نصبح مبرمجين أكثر احترافًا.