Killing Code Clones meetup .. نضف الكود من التشابهات
ليه المفروض ننضف الكود من الكود المتشابه ، عشان الكود يبقي نضيف ؟ ايوة يعني دي حاجة مهمة يعني ؟ ولا عشان نبقي developers كويسين ؟ ايه المشكلة مش الكود شغال صح ؟ هو احنا عندنا وقت لفزلكة الdevelopers دي ؟ عندنا عميل مستني.
عشان احنا بنضيع وقت طويل جدا عشان نفهم الكود و نزود عليه حاجة او الماساة لو هنحل مشكلة فيه
في الmeetup اللي فات اللي اداه المهندس عمرو نعمان عن اهمية الrefactoring و ليه لازم نشتغل عليه و خصوصا اننا نشيل الكود المتشابه و ده مهم جدا عشان اسباب كتير ، اولها اننا لما بنشيل الكود المتشابه بيدينا فرصة اننا نكتشف الbug اللي اتحلت في مكان و نسينا نحلها في المكان التاني و دول كتير قوي .
و كمان بيخلي الكود حجمه اقل و اسهل في الفهم و ده بيقلل وقت اننا نقعد ندور علي سبب الbug في اماكن كتير و نتوه في حاجات ملهاش لازمة و بيقلل فرص اننا نحل حاجة في مكان و ننساها في مكان تاني
الفكرة اننا المفروض نعمل ده بشكل دوري عشان نحافظ علي الquality بتاعت الكود اللي هي الquality بتاعت المشروع بشكل عام.
بالنسبة للtool اللي استخدمناها عشان تعمل code clone detection هي ConQat و دي opensource tool بتشتغل عليها جامعة المانية و بتعرف تطلع انواع من الclones زي الexact clones اللي هي كود زي بعضه بالظبط او ال similar clones اللي هو كود متشابه ممكن تكون اسماء الvariables متغيرة و كمان ال gapped clones اللي هي الكود المنقول بس متغير فيه كام سطر ، الحقيقة الtool دي قوية جدا تقدروا تجربوها و هنا الguide العملي
و هنا كمان الslides اللي عمرو شرح منها هتلاقوا فيها approach منظم و سهل للrefactoring بوجه عام و killing clones و اهميته بشكل خاص .