الكود البطيء ليس مشكلة على الإطلاق إذا كنت تعرف كيفية تسريعها. الشيء الرئيسي جميل



سمعت عدة مرات أن المبرمجين يضحكون على زملائهم الذين كتبوا كودًا بطيئًا. عبارات قاسية وصالحة بأسلوب "هذا الأحمق مر على المجموعة أربع مرات ، رغم أنه كان من الممكن أن تكون واحدة" وما شابه. عندما تسمع هذا ، تفكر على الفور - حسنًا ، كل شيء يعمل ، لماذا تقوم بتكرار غير ضروري؟ لماذا لا يمكنك تعلم بعض الأشياء الأساسية ، مثل كيفية عمل تعبيرات LINQ في C # ، وكتابة كود عادي؟ أنت تضحك على الأشخاص الحمقى غير الأكفاء حتى يبدأوا في الضحك عليك. وصدقني - لن ينقذك أي قدر من المعرفة البرمجية من موقف تتخيل فيه دون قصد خوارزمية تربيعية بدلاً من خوارزمية خطية.



لا أعرف ما إذا كان أي شخص يضحك على الكود الخاص بي ، لكنني متأكد - أكثر من مرة أو مرتين كتبت حلاً أبطأ بمئة مرة مما كان يمكن أن يكون. لكن في هذه الحالات ، كتبت عمدا دون المستوى الأمثل. على سبيل المثال ، في C # هناك حلقة for ، وهناك طريقة تجميع محددة (في اللغات الأخرى ، تُسمى غالبًا خريطة). الحلقة أسرع ، لكني أجد الأسلوب الوظيفي أكثر إرضاءً من الناحية الجمالية - وأنا أستخدمه. أعلم أن هناك القليل من البيانات ، ولن يكون هناك اختناق ، وأنا أكتب كود برأيي أجمل ، وأكثر قابلية للقراءة ، وبالتالي أفضل. هناك الكثير من هذه الحلول قيد التطوير - وأختار كتابة كود إنتاجي فقط عندما أعرف على وجه اليقين أن عمليات الانسحاب ستصبح مشكلة.



, -, , — . , , , . — LINQ . C# — yield — , , . — — , , . , , — .



- , yield, - . , LINQ . - , , , , . . LINQ — , .



— , . BenchmarkDotNet, Pro .NET Benchmarking, , , , , . , — .



, ? , .



Select — Select. , , , , , , .



, . " " — , . " ". , , .



, , — . . for select, , ? C#, , C# — . C++. . , , — . , , — ** . , .



, . , C#. . — , , — . , .






, . Queue, List — , . , , . — .



, . . — , . , , — , . , .



— “ ”, “ ” — , — , . , , , — . , — , , . , .



— . , ", C#, LINQ" , . , . — — — . , "yarn start" . , , . . , — — .



— . , , . — . , , , , , , . . , , . .



— , . , .



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



مشاهدة البودكاست الخاص بي



All Articles