ماذا يوجد على رف كتب هندسة البرمجيات الخاص بي

تعد المواكبة والتحسين المستمر جزءًا من وظيفة مهندس البرمجيات.

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

هذه قائمة بالكتب المرجعية التي أحتفظ بها على رف كتب هندسة البرمجيات. آمل أن يكون مصدر إلهام لكل من يبحث عن شيء ممتع للقراءة! ؟

ما لدي على رف الكتب الخاص بي

أنماط التصميم: عناصر البرامج الكائنية القابلة لإعادة الاستخدام

هذا كلاسيكي.

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

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

الكود النظيف: دليل براعة البرمجيات الرشيقة

قرأت هذا الكتاب منذ سنوات عديدة ، لكنه ظل عالقًا معي منذ ذلك الحين.

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

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

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

تعلمك هاسكل من أجل الخير العظيم!: دليل المبتدئين

هذا كتاب عن لغة برمجة هاسكل فلماذا تشتريه ونحتفظ به كمرجع؟ أسبابي هي:

  • إنه كتاب مكتوب جيدًا وسهل القراءة حول موضوع ليس بهذه السهولة مثل البرمجة الوظيفية
  • يمنحك أساس التفكير الوظيفي ، وليس فقط بناء جملة Haskell
  • هاسكل لغة أنيقة للغاية وأنا أحبها

هذا هو الكتاب الذي عرّفني على البرمجة الوظيفية. في الوقت الحالي ، أبرمج بشكل رئيسي في Scala ، لكن الانتقال كان أسهل كثيرًا بعد تعلم أساسيات Haskell.

البرمجة الوظيفية ليست سهلة ، لكنها ستفتح عقلك. يمكن أن يكون الأمر نظريًا للغاية ، وتطبيقه باستخدام Haskell سيساعد كثيرًا .

هناك أيضًا رسومات جميلة جدًا في الكتاب ، لذلك ليس لديك أي عذر لعدم التقليب فيها. ؟

نظرية الفئة للمبرمجين

يغطي هذا الكتاب نظرية التصنيف ، والتي هي أساس نموذج البرمجة الوظيفية.

الموضوع معقد للغاية بالنسبة لغير الرياضيين ، لكن المؤلف بذل جهدًا كبيرًا لجعله مفهومًا للمطورين. أعترف أنني واجهت بعض الصعوبات في قراءته ، لكنني أرغب في مراجعته مرة أخرى.

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

تصميم تطبيقات كثيفة البيانات: الأفكار الكبيرة وراء أنظمة موثوقة وقابلة للتطوير وقابلة للصيانة

هذا هو المفضل لدي ، ربما لأنني أحب الأنظمة الموزعة! :-د

في هذا الكتاب ، يصف Martin Kleppmann جميع الجوانب المختلفة للأنظمة الموزعة ، من التسلسل إلى نماذج التناسق والإجماع ، مروراً بمحركات قواعد البيانات المختلفة. كما يستكشف اتجاهات جديدة فيما يتعلق بالتطبيقات التي تعتمد على البيانات.

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

حررها!: تصميم ونشر برامج جاهزة للإنتاج

أنا أقرأ هذا الآن.

هل انتهينا بمجرد إرسال برنامجنا إلى الإنتاج؟ كلا ، هذه فقط البداية!

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

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

مقدمة في الخوارزميات

ماذا يمكنني أن أقول عن هذا الكتاب؟ فقط قم بشرائه واحتفظ به على مكتبك .

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

عندما تظهر الشكوك ، افتح هذا الكتاب وستجد ما تحتاج إليه.

بالنسبة لمعظم الناس (بمن فيهم أنا) ، من الصعب جدًا قراءتها. عادةً ما أقرأ فقط ما أحتاج إلى معرفته في تلك اللحظة ، وأضع الكتاب في مرمى البصر على مكتبي.

Hyperfocus: كيفية إدارة انتباهك في عالم الإلهاء

هذا ليس كتابًا تقنيًا ، لكنه في مجموعة القراءات التي غيرت حياتي بشكل أفضل.

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

هنا يمكنك العثور على الكثير من الاقتراحات والتقنيات لزيادة الوقت الذي يمكنك فيه التركيز على مهمة ما. يناقش المؤلف أيضًا أهمية ترك عقلك يتجول عندما تحتاج إلى أن تكون أكثر إبداعًا.

إن إتقان كيفية استخدام انتباهك أمر من شأنه تحسين ليس فقط أدائك في العمل ، ولكن أيضًا كل جانب آخر من جوانب حياتك.

ما سأضيفه إلى رف كتبي

المبرمج البراغماتي

هذا واحد من أشهر الكتب في مجال تطوير البرمجيات.

أثرت الاقتراحات والتقنيات المقدمة في هذا الكتاب على حياة العديد من المطورين والمهندسين للأفضل. نُشر الكتاب في عام 1999 ، ولكنه متاح الآن كنسخة جديدة ومحدثة بمناسبة الذكرى العشرين.

لا يمكنك تفويت هذا. :-)

إعادة الهيكلة: تحسين تصميم الكود الحالي

من الصعب دائمًا تقديم كود عالي الجودة. المواعيد النهائية والإلحاح واليوم السيئ تؤثر جميعها على جودة عملك.

هذا هو سبب أهمية إعادة البناء. إذا لم نتمكن من توفير الجودة في المرة الأولى ، فيمكننا تحسينها لاحقًا لتحسين إمكانية الصيانة. يصف مارتن فاولر (أحد أصودي في عالم تطوير البرمجيات) أفضل التقنيات لإعادة بناء فعالة.

سيكون هناك دائمًا مساحة على رف الكتب الخاص بي للكتب التي تساعدني في كتابة كود أفضل.

استنتاج

هذه قائمة الكتب التي يجب اقتناؤها في هندسة البرمجيات. إنها ليست بأي حال من الأحوال قائمة شاملة بالكتب "المهمة" في هذا المجال ، وأنا متأكد من أنني سأضيف المزيد والمزيد من الكتب في السنوات القادمة.

آمل أن أكون قد أعطيتك بعض النصائح الجيدة حول الكتاب التالي الذي يجب أن تقرأه. ؟

أراك لاحقا!؟