سؤال

أنا ألعب مع منفذ بسيط من بروتوفيس API إلى Python.

النظر في مثال مخطط الشريط البسيط ، في JavaScript:

var vis = new pv.Panel()
    .width(150)
    .height(150);

vis.add(pv.Bar)
    .data([1, 1.2, 1.7, 1.5, .7, .3])
    .width(20)
    .height(function(d) d * 80)
    .bottom(0)
    .left(function() this.index * 25);

vis.render();

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

vis = pv.Panel(width=150,
               height=150)

vis = vis + pv.Bar(data=[1, 1.2],
                   width=20,
                   height=lambda d: d * 80,
                   bottom=0,
                   left=lambda: self.index * 25)
vis.render()

هل هناك أسلوب بيثون المفضل؟

هل كانت مفيدة؟

المحلول

تصويتي هو مكافحة التصميم ، المؤيد للسماعات.

  1. إن التزجيج النقطي يجعله ضعيفًا للعلم الكود نظرًا لأن النموذج الأولي التجريبي هو مجرد لوحة فارغة () أو شريط () ، يمكنك بالطبع pydoc عليها ، ولكن في هذا اليوم والعمر يتوفر Intellisense في معظم IDES وداعم إنتاجية رائعة .

  2. السلاسل يجعل من بشكل برمجي وصف الفصل أكثر صعوبة. من الجيد جدًا أن تكون قادرًا على تمرير قائمة أو قولون كـ ** args ، ** kwargs-في حين أنه من الممكن مع التسلسل ، يجب عليك دعم كلتا الطريقتين أو حفنة من الخلفية لإنشاء الفصل.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top