❞ كتاب Refactoring: Improving the Design of Existing Code ❝  ⏤ مارتن فاولر

❞ كتاب Refactoring: Improving the Design of Existing Code ❝ ⏤ مارتن فاولر

وصف قصير عن الكتاب:

يعد التطوير القائم على الاختبار (TDD) طريقة مثبتة للعثور على أخطاء البرامج مبكرًا. تؤدي كتابة الاختبارات قبل الكود إلى تحسين بنية تطبيقاتك وقابليتها للصيانة. بالاقتران مع بناء الجملة المحسّن لـ Swift 3 ، لا يوجد عذر أو كتابة تعليمات برمجية سيئة.

سيساعدك هذا الكتاب على فهم عملية TDD وكيف تؤثر على تطبيقاتك المكتوبة بلغة Swift. من خلال التطبيق العملي الواقعي ، ستبدأ في رؤية كيفية تنفيذ TDD في السياق. ستبدأ بنظرة عامة على سير عمل TDD ثم تعمق في مفاهيم اختبار الوحدة ودورات الكود. ستقوم أيضًا بتخطيط وهيكلة تطبيق iOS الذي تم اختباره ، وكتابة اختبارات لدفع تطوير وحدات التحكم في العرض والفئات المساعدة. بعد ذلك ، ستتعلم كيفية كتابة اختبارات لرمز الشبكة ، وما هو CI وكيفية إعداده باستخدام خادم Xcode.

أخيرًا ، سيرشدك الكتاب خلال الخطوات التالية لتصبح خبيرًا في الاختبار من خلال مناقشة اختبارات التكامل والتنمية المدفوعة بالسلوك (BDD) وأطر اختبار المصدر المفتوح واختبارات واجهة المستخدم المقدمة في Xcode 8.
لعزل المشكلات التي قد تنشأ ، يجب اختبار كل حالة اختبار بشكل مستقل. يمكن استخدام بدائل مثل بذرة الطريقة ، والأشياء الوهمية ، والمزيفة ، وأدوات الاختبار للمساعدة في اختبار وحدة في عزلة.

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

مارتن فاولر (بالإنجليزية: Martin Fowler)‏ من مواليد 1963، هو مطور برمجيات بريطاني، كاتب، ومتحدث عام عن تطوير البرمجيات، ومتخصص في التحليل والتصميم الكائني التوجه، لغة النمذجة الموحدة، ونماذج تصميم البرمجيات.

مارتن فاولر هو كبير العلماء في شركة ThoughtWorks ، وهي شركة لتطوير تطبيقات المؤسسات وتسليمها. لقد كان يطبق تقنيات موجهة للكائنات لتطوير برامج المؤسسة لأكثر من عقد. يشتهر بعمله على الأنماط ، و UML ، وإعادة البناء ، والأساليب الرشيقة. يعيش مارتن في ميلروز بولاية ماساتشوستس مع زوجته سيندي وقطة غريبة جدًا. صفحته الرئيسية هي http://martinfowler.com.

يتحدى كينت بيك باستمرار عقيدة هندسة البرمجيات ، ويعزز أفكارًا مثل الأنماط ، والتطوير القائم على الاختبار ، والبرمجة المتطرفة. ينتمي حاليًا إلى معهد Three Rivers Institute و Agitar Software ، وهو مؤلف العديد من عناوين Addison-Wesley.

جون برانت ودون روبرتس هما مؤلفا متصفح Refactoring Browser for Smalltalk ، والذي يوجد على http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. هم أيضًا مستشارون درسوا الجوانب العملية والنظرية لإعادة البناء لمدة ست سنوات.

أدت أبحاث الدكتوراه التي أجراها William Opdyke حول إعادة هيكلة الأطر الموجهة للكائنات في جامعة إلينوي إلى أول منشور رئيسي حول هذا الموضوع. وهو حاليًا عضو متميز في الطاقم الفني في Lucent Technologies / Bell Laboratories.

جون برانت ودون روبرتس هما مؤلفا متصفح Refactoring Browser for Smalltalk ، والذي يوجد على http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. هم أيضًا مستشارون درسوا الجوانب العملية والنظرية لإعادة البناء لمدة ست سنوات. ❰ له مجموعة من الإنجازات والمؤلفات أبرزها ❞ Refactoring: Improving the Design of Existing Code ❝ الناشرين : ❞ أديسون ويسلي بروفيشنال ❝ ❱
من اختبار او فحص البرمجيات - مكتبة كتب تقنية المعلومات.

نبذة عن الكتاب:
Refactoring: Improving the Design of Existing Code

1999م - 1445هـ
وصف قصير عن الكتاب:

يعد التطوير القائم على الاختبار (TDD) طريقة مثبتة للعثور على أخطاء البرامج مبكرًا. تؤدي كتابة الاختبارات قبل الكود إلى تحسين بنية تطبيقاتك وقابليتها للصيانة. بالاقتران مع بناء الجملة المحسّن لـ Swift 3 ، لا يوجد عذر أو كتابة تعليمات برمجية سيئة.

سيساعدك هذا الكتاب على فهم عملية TDD وكيف تؤثر على تطبيقاتك المكتوبة بلغة Swift. من خلال التطبيق العملي الواقعي ، ستبدأ في رؤية كيفية تنفيذ TDD في السياق. ستبدأ بنظرة عامة على سير عمل TDD ثم تعمق في مفاهيم اختبار الوحدة ودورات الكود. ستقوم أيضًا بتخطيط وهيكلة تطبيق iOS الذي تم اختباره ، وكتابة اختبارات لدفع تطوير وحدات التحكم في العرض والفئات المساعدة. بعد ذلك ، ستتعلم كيفية كتابة اختبارات لرمز الشبكة ، وما هو CI وكيفية إعداده باستخدام خادم Xcode.

أخيرًا ، سيرشدك الكتاب خلال الخطوات التالية لتصبح خبيرًا في الاختبار من خلال مناقشة اختبارات التكامل والتنمية المدفوعة بالسلوك (BDD) وأطر اختبار المصدر المفتوح واختبارات واجهة المستخدم المقدمة في Xcode 8.
لعزل المشكلات التي قد تنشأ ، يجب اختبار كل حالة اختبار بشكل مستقل. يمكن استخدام بدائل مثل بذرة الطريقة ، والأشياء الوهمية ، والمزيفة ، وأدوات الاختبار للمساعدة في اختبار وحدة في عزلة.

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

تعليقات القرّاء:

وصف منسّق للكتاب :

 

في برمجة الكمبيوتر ، يعد اختبار الوحدة طريقة اختبار برمجية يتم من خلالها اختبار الوحدات الفردية من التعليمات البرمجية المصدر - مجموعات من وحدة أو أكثر من وحدات برامج الكمبيوتر جنبًا إلى جنب مع بيانات التحكم المرتبطة بها ، وإجراءات الاستخدام ، وإجراءات التشغيل - لتحديد ما إذا كانت مناسبة للاستخدام .
قبل اختبار الوحدة ، كانت أدوات اختبار الالتقاط وإعادة التشغيل هي القاعدة. في عام 1997 ، قام كينت بيك وإريك جاما بتطوير وإصدار JUnit ، وهو إطار اختبار وحدة أصبح شائعًا لدى مطوري Java. [2] تبنت Google الاختبار الآلي في الفترة من 2005 إلى 2006 تقريبًا.


عادةً ما تكون اختبارات الوحدة عبارة عن اختبارات آلية يكتبها ويديرها مطورو البرامج للتأكد من أن قسمًا من التطبيق (يُعرف باسم "الوحدة") يلبي تصميمه ويتصرف على النحو المنشود. [4] في البرمجة الإجرائية ، يمكن أن تكون الوحدة وحدة كاملة ، ولكنها أكثر شيوعًا هي وظيفة أو إجراء فردي. في البرمجة الموجهة للكائنات ، غالبًا ما تكون الوحدة واجهة كاملة ، مثل فئة أو طريقة فردية. [5] من خلال كتابة الاختبارات أولاً لأصغر الوحدات القابلة للاختبار ، ثم السلوكيات المركبة بينها ، يمكن للمرء أن يبني اختبارات شاملة للتطبيقات المعقدة.

لعزل المشكلات التي قد تنشأ ، يجب اختبار كل حالة اختبار بشكل مستقل. يمكن استخدام بدائل مثل بذرة الطريقة ، والأشياء الوهمية ، [6] والمزيفة ، وأدوات الاختبار للمساعدة في اختبار وحدة في عزلة.

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

يمكن تسريع كتابة اختبارات الوحدة وصيانتها باستخدام اختبارات ذات معلمات. يسمح ذلك بتنفيذ اختبار واحد عدة مرات بمجموعات إدخال مختلفة ، وبالتالي تقليل تكرار رمز الاختبار. على عكس اختبارات الوحدة التقليدية ، والتي عادةً ما تكون طرقًا مغلقة واختبار الظروف الثابتة ، تأخذ الاختبارات ذات المعلمات أي مجموعة من المعلمات. يتم دعم الاختبارات ذات المعلمات بواسطة TestNG و JUnit ونظيرتها .Net ، XUnit. يمكن توفير المعلمات المناسبة لاختبارات الوحدة يدويًا أو في بعض الحالات يتم إنشاؤها تلقائيًا بواسطة إطار عمل الاختبار. في السنوات الأخيرة ، تمت إضافة دعم لكتابة اختبارات (وحدة) أكثر قوة ، والاستفادة من مفهوم النظريات ، وحالات الاختبار التي تنفذ نفس الخطوات ، ولكن باستخدام بيانات الاختبار التي تم إنشاؤها في وقت التشغيل ، على عكس الاختبارات العادية ذات المعلمات التي تستخدم نفس خطوات التنفيذ مع مجموعات الإدخال المحددة مسبقًا. 

 

مزايا


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

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

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

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

قد يقلل اختبار الوحدة من عدم اليقين في الوحدات نفسها ويمكن استخدامه في نهج أسلوب الاختبار التصاعدي. من خلال اختبار أجزاء البرنامج أولاً ثم اختبار مجموع أجزائه ، يصبح اختبار التكامل أسهل بكثير. [بحاجة لمصدر]

يوفر اختبار الوحدة نوعًا من التوثيق الحي للنظام. يمكن للمطورين الذين يتطلعون إلى معرفة الوظائف التي توفرها الوحدة ، وكيفية استخدامها ، إلقاء نظرة على اختبارات الوحدة لاكتساب فهم أساسي لواجهة الوحدة (API). [بحاجة لمصدر]

تجسد حالات اختبار الوحدة الخصائص التي تعتبر حاسمة لنجاح الوحدة.



سنة النشر : 1999م / 1420هـ .
نوع الكتاب : pdf.
عداد القراءة: عدد قراءة Refactoring: Improving the Design of Existing Code

اذا اعجبك الكتاب فضلاً اضغط على أعجبني
و يمكنك تحميله من هنا:

تحميل Refactoring: Improving the Design of Existing Code
شكرًا لمساهمتكم

شكراً لمساهمتكم معنا في الإرتقاء بمستوى المكتبة ، يمكنكم االتبليغ عن اخطاء او سوء اختيار للكتب وتصنيفها ومحتواها ، أو كتاب يُمنع نشره ، او محمي بحقوق طبع ونشر ، فضلاً قم بالتبليغ عن الكتاب المُخالف:

برنامج تشغيل ملفات pdfقبل تحميل الكتاب ..
يجب ان يتوفر لديكم برنامج تشغيل وقراءة ملفات pdf
يمكن تحميلة من هنا 'http://get.adobe.com/reader/'

المؤلف:
مارتن فاولر - Martin Fowler

كتب مارتن فاولر نبذه قصيره عن المؤلف مارتن فاولر (بالإنجليزية: Martin Fowler)‏ من مواليد 1963، هو مطور برمجيات بريطاني، كاتب، ومتحدث عام عن تطوير البرمجيات، ومتخصص في التحليل والتصميم الكائني التوجه، لغة النمذجة الموحدة، ونماذج تصميم البرمجيات. مارتن فاولر هو كبير العلماء في شركة ThoughtWorks ، وهي شركة لتطوير تطبيقات المؤسسات وتسليمها. لقد كان يطبق تقنيات موجهة للكائنات لتطوير برامج المؤسسة لأكثر من عقد. يشتهر بعمله على الأنماط ، و UML ، وإعادة البناء ، والأساليب الرشيقة. يعيش مارتن في ميلروز بولاية ماساتشوستس مع زوجته سيندي وقطة غريبة جدًا. صفحته الرئيسية هي http://martinfowler.com. يتحدى كينت بيك باستمرار عقيدة هندسة البرمجيات ، ويعزز أفكارًا مثل الأنماط ، والتطوير القائم على الاختبار ، والبرمجة المتطرفة. ينتمي حاليًا إلى معهد Three Rivers Institute و Agitar Software ، وهو مؤلف العديد من عناوين Addison-Wesley. جون برانت ودون روبرتس هما مؤلفا متصفح Refactoring Browser for Smalltalk ، والذي يوجد على http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. هم أيضًا مستشارون درسوا الجوانب العملية والنظرية لإعادة البناء لمدة ست سنوات. أدت أبحاث الدكتوراه التي أجراها William Opdyke حول إعادة هيكلة الأطر الموجهة للكائنات في جامعة إلينوي إلى أول منشور رئيسي حول هذا الموضوع. وهو حاليًا عضو متميز في الطاقم الفني في Lucent Technologies / Bell Laboratories. جون برانت ودون روبرتس هما مؤلفا متصفح Refactoring Browser for Smalltalk ، والذي يوجد على http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. هم أيضًا مستشارون درسوا الجوانب العملية والنظرية لإعادة البناء لمدة ست سنوات.❰ له مجموعة من الإنجازات والمؤلفات أبرزها ❞ Refactoring: Improving the Design of Existing Code ❝ الناشرين : ❞ أديسون ويسلي بروفيشنال ❝ ❱. المزيد..

كتب مارتن فاولر
الناشر:
أديسون ويسلي بروفيشنال
كتب أديسون ويسلي بروفيشنالأديسون ويسلي هو ناشر أمريكي للكتب المدرسية وأدب الكمبيوتر. إنها بصمة لشركة Pearson PLC ، وهي شركة نشر وتعليم عالمية. بالإضافة إلى نشر الكتب ، تقوم Addison-Wesley أيضًا بتوزيع عناوينها الفنية من خلال خدمة المرجع الإلكتروني Safari Books Online. تأتي غالبية مبيعات أديسون ويسلي من الولايات المتحدة (55٪) وأوروبا (22٪). [1] تنتج شركة Addison-Wesley Professional Imprint محتوى يتضمن كتبًا وكتبًا إلكترونية وفيديو للعاملين في مجال تكنولوجيا المعلومات المحترفين بما في ذلك المطورين والمبرمجين والمديرين ومسؤولي النظام. تتضمن العناوين الكلاسيكية فن برمجة الكمبيوتر ، ولغة البرمجة C ++ ، وشهر الرجل الأسطوري ، وأنماط التصميم. Addison-Wesley Professional هي أيضًا شريك مع Safari Books Online. ❰ ناشرين لمجموعة من المؤلفات أبرزها ❞ تعلم بايثون بالطريقة الصعبة الاصدار الثالث ❝ ❞ PHP and MySQL Web Development, 4th ed ❝ ❞ لغة SQL ، (التعلم) ❝ ❞ PHP and MySQL Web Development, 5th ed ❝ ❞ r لجميع التحليلات والرسومات المتقدمة الاصدار الثاني ❝ ❞ r لجميع التحليلات والرسومات المتقدمة الاصدار الاول ❝ ❞ Refactoring: Improving the Design of Existing Code ❝ ❞ Continuous Integration: Improving Software Quality and Reducing Risk ❝ ❞ xUnit Test Patterns: Refactoring Test Code ❝ ❞ Art of Software Security Testing ❝ ومن أبرز المؤلفين : ❞ زيد شو ❝ ❞ لوك ويلينغ ❝ ❞ جاريد بي لاندر ❝ ❞ لاري روكوف ❝ ❞ مارتن فاولر ❝ ❞ بول دوفال ❝ ❞ جيرارد ميساروس ❝ ❞ دينو داي زوفي ❝ ❱.المزيد.. كتب أديسون ويسلي بروفيشنال