Skip to content

ibrahimAlii/EffectiveJavaAndKotlin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Effective-Java-Third-Edition

Item Description
Item#1 Considering static factory methods instead of constructors A technique that should be a part of every programmer's toolkit.
Item#2 Consider a builder when faced with many constructor parameters
Item#3 Enforcing the singleton property with a private constructor or an enum type ..
Item#4 Enforece noninstantiability with a private constructor
Item#5 Prefer dependency injection to hardwiring resources
Item#6 Avoid creating unnecessary objects
Item#7 Eliminate obsolete objects references
Item#8 Avoid Finalizers and cleaners
Item#9 Prefer try-with-resource to try-finally
Item#10 Obey the general contract when overriding equals
Item#11 Always Override hashCode when you override equals
Item#12 Always override toString
Item#13 Override clone Judiciously
Item#14 CONSIDER IMPLEMENTING COMPARABLE
Item#15 MINIMIZE THE ACCESSIBILITY OF CLASS AND MEMBERS
Item#16 IN PUBLIC CLASSES, USE ACCESSOR METHODS NOT PUBLIC FIELDS
Item#17 MINIMIZE MUTABILITY
Item#18 FAVOR COMPOSITION OVER INHERITANCE
Item#19 DESIGN AND DOCUMENT FOR INHERITANCE OR ELSE PROHIBIT IT
Item#20 PREFER INTERFACES TO ABSTRACT CLASSES
Item#21 DESIGN INTERFACES FOR POSTERITY
Item#22 Use Interface only to define types
Item#23 Prefer class hierarchies to tagged classes
Item#24 Favor static Member classes over nonstatic
Item#25 Limit source files to a single top-level class
Item#26 Don't use raw types
Item#27 Eliminate unchecked warnings
Item#28 Prefer lists to array
Item#29 Favor Generic types
Item#30 Favor Generic Methods
Item#31 Use bounded wildcards to increase API flexibility
Item#32 Combine generics and varargs judiciously
Item#33 Consider typesafe heterogeneous containers
Item#34 Use enums instead of int constants
Item#35 Use instance fields instead of ordinals
Item#36 Use EnumSet instead of bit fields
Item#37 Use EnumMap instead of ordinal indexing
Item#38 Emulate extensible enums with interfaces
Item#39 Prefer annotations to naming patterns
Item#40 Consistently use the Override annotation
Item#41 Use marker interface to define types
Item#42 Prefer lambdas to anonymous classes
Item#43 Prefer method references to lambdas
Item#44 Favor the use of standard functional interfaces
Item#45 USE STREAM JUDICIOUSLY
Item#46 PREFER SIDE-EFFECT-FREE FUNCTIONS IN STREAMS
Item#47 PREFER COLLECTION TO STREAM AS A RETURN TYPE
Item#48 USE CAUTION WHEN MAKING STREAM PARALLEL-ARABIC-استخدم البرمجة المتوازية عند استخدامك الـ "ستريم" بحذر
Chapter 8 How to treat parameters and return values, how to design methods signatures, and how to document methods.
Item#49 Check parameters for validity Arabic - تأكد من صحة المدخلات
Item#50 Make defensive copies when needed - استخدم نسخ وقائية عند الحاجة
Item#51 Design method signatures carefully - صمم هيكلية الدالة بحذر
Item#52 Use overloading judiciously - استخدم تعددية الدوال بحذر
Item#53 Use varargs judiciously - استخدم قيم الوسائط المتعددة بحذر
Item#54 Return empty collections or arrays, not nulls - قم بارجاع مجموعة أو متسلسلة فارغة وليس قيمة معدومة
Item#55 Return optionals judiciously - قم بإرجاع القيم الاختيارية بحذر
Item#56 Write doc comments for all exposed API elements - قم بكتابة تعليقات موثقة لكل عنصر مكشوف
Chapter 9 General Programming - برمجة عامة locale variables, control structure, libraries, data types, and two extralinguistic facilities: reflection and native methods
Item#57 Write doc comments for all exposed API elements - قم بكتابة تعليقات موثقة لكل عنصر مكشوف

About

A repo in Effective-Java and Effective-Kotlin

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published