لنفترض أن لدي مشروعًا في three.js وأحتاج إلى بعض الأشكال الهندسية، وسأقوم بتشفير مجموعة من الكائنات التي ستحتوي على قيم x وy وz بالإضافة إلى قيم العرض والارتفاع والعمق الخاصة بها ولكن قد تكون هذه المصفوفة قادمة من الخادم أو واجهات برمجة التطبيقات التابعة لجهات خارجية =>
const geometriesRaw = [ { color: 0x44aa88, x: 0, y: 1, z: 0, width: 1, height: 1, depth: 1 }, { color: 0x8844aa, x: -2, y: 1, z: 0, width: 1.5, height: 1.5, depth: 1.5 } ];
ثم سأعرضها باستخدام المصفوفة. وظيفة الخريطة =>
const cubes = geometriesRaw.map((cube)=>{})
في لمحة واحدة فقط يمكننا أن ندرك مدى إسهاب هذا الرمز، وتكرار مكعب الوسيطة في كل مرة.
علامة حمراء أخرى هي عدم وضوح الخصائص التي نستخدمها من المصفوفة، على سبيل المثال، z هي 0 في كلتا الحالتين ومن المحتمل أن تكون صفرًا في الغالبية العظمى من الحالات.
في حالة الاستخدام المنتظم لدينا، لا ينبغي لنا أن نكشف هذه الخاصية لوظيفتنا، وقد يحدث هذا أيضًا بشكل متكرر مع خاصية العمق.
لهذا السبب، سيكون الخيار الأفضل هو تدمير الخصائص القادمة من مصفوفة الكائنات كما يلي =>
const cubes = geometriesRaw.map(({x,y, width, color})=>{})
الآن نحن نستخدم فقط x،y، width، color. بهذه الطريقة نشير إلى أن z والارتفاع والعمق هي خصائص افتراضية داخل وظيفتنا ولا نحتاج إليها من البيانات الواردة من خادمنا أو جهة خارجية
بهذه الطريقة نقوم بإخفاء الخصائص للمطورين المستقبليين التي ستتفاعل مع ثابت المكعبات لدينا، فقط نظهر لهم الخصائص التي نحتاجها من مصدر خارجي وتلك التي نقوم بتعيينها كإعداد افتراضي لممارسة أفضل حتى يمكننا كتابتها
ثابت ض = 0
...
داخل وظيفتنا لجعلها أكثر وضوحًا
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3