كيف تقنع فريق البرمجة بالتخلي عن الطرق القديمة؟

StackOverflow https://stackoverflow.com/questions/493460

  •  20-08-2019
  •  | 
  •  

سؤال

هذا سؤال برمجي موجه للأعمال ولا يبدو أنني أستطيع معرفة كيفية حله.أنا أعمل مع فريق من المبرمجين الذين يعملون مع BASIC منذ أكثر من 20 عامًا.لقد تم إحضاري للمساعدة في كتابة نفس البرنامج في .NET، فقط مع التحديثات والممارسات الحديثة.تكمن المشكلة في أنني لا أستطيع إقناع أي من أعضاء الفريق الثلاثة الآخرين (جميع مبرمجي BASIC، على الرغم من أن أحدهم يستخدم .NET الآن أيضًا) بفهم كيفية إنشاء قاعدة بيانات علائقية بشكل صحيح.هذا هو الشيء الذي لن يفهموه:

لدينا في الأساس معاملة تقوم بتتبع معلومات علامة العميل.نحن بحاجة إلى أن نكون قادرين على تتبع المعاملات الحالية والمعاملات السابقة.في النظام القديم، تم استخدام قاعدة بيانات مسطحة تحتوي على جدول واحد يحتوي على سجلات بالمعاملة الأساسية الحالية للعميل، ومعاملة أخرى تحتوي على جميع المعاملات السابقة للعميل إلى جانب المعلومات المالية المهمة.لمنع التكرار، سيستبدلون المعاملة الحالية بمعاملات السجل - (تم تحديث ملف السجل أولاً، ثم الملف الحالي.) إنه غير ضروري على الإطلاق نظرًا لأنك تحتاج فقط إلى جدول معاملات واحد، ولكن مشرفي أو أي من شركائي الآخرين - يبدو أن العمال لا يفهمون هذا.كيف يمكنني بالضبط إقناعهم برؤية النور حتى لا نضطر إلى القيام بكميات سخيفة من العمل وينتهي الأمر بضرب قاعدة البيانات مرات عديدة؟شكرا على الادخال!

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

المحلول

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

وثانيا أجد لافتا جدا أن المبرمجين من 20 عاما من الخبرة لا يفهمون قواعد البيانات العلائقية والمعاملات. ملف ثابت الترميز خرج من التيار الرئيسي منذ وقت طويل جدا - أنا أولا التعامل مع قواعد البيانات العلائقية في إطار تجاري في عام 1988 وكانت شائعة جدا قبل منتصف 90s. ما القطاع ونوع المنتج التي تعمل عليها؟ هذا يبدو ممكنا لي أنك قد يكون التعامل مع نوع جزءا لا يتجزأ من النظام أو "غير عادي"، وفي هذه الحالة أنت بحاجة للتأكد من أن لم يكن لديك نوعا من قضية الاتصالات وأنت تطل على الفيل الكبير لم يتم أشار إلى أنت - أنت لن تكون أول "مستشار" جلبت الى الفريق الذي أنشئت بطريقة ما من خلال عدم تغذيتها المعلومات المناسبة. أن مثل هذه المحلات القديمة وقال لا تزال موجودة - واحدة من بلدي العملاء الحاليين أنظمة الواجهات إلى نظام قائم على ملف ثابت تلوينها في كوبول، ونعم، هو الجحيم لإدارة؛ -)

وأخيرا، إذا كنت متأكدا تماما من الميدان الخاص بك وكنت تواجه الفريق الذي لن يأخذ في الاعتبار التوصيات الخاصة بك - ورمز مظاهرة هو فكرة جيدة اذا كنت يمكن تجنيب الوقت -then سيكون لديك على الأرجح على قبول القرار برشاقة ونقل واحد. نفسي في هذا الموقف وأود أن محاولة مجردة من قضية - يمكن نقل قاعدة بيانات التحديثات إلى الإجراءات المخزنة على سبيل المثال ذلك رمز لتحديث كلا الجدولين هو في SP ويمكن تعديل في موعد لاحق للانتقال إلى المخطط الخاص بك دون المقابلة تغيير التطبيق؟ تأكد من حججك موثقة توثيقا جيدا وسجلت حتى تتمكن من إعادة النظر فيها في وقت لاحق إذا ما أتيحت الفرصة.

وأنت لن يكون المبرمج الأول من الذي اضطر إلى تنفيذ حل دون المستوى الأمثل بسبب المكتب السياسي - استخدامه بمثابة تجربة التعلم لتنمية الشخصية الخاصة بك عن التعامل مع مثل هذه الحالات ومواساة نفسك مع الفكر سوف تحصل على رواتبها لعمل إضافي. غالبا ما يكون العامل الحاسم في هذه الحجج ليست منطق، ولكن 'وزن سمعة "أنت نفسك يجلب الى طاولة المفاوضات - يبدو وكأنه الذين تم جلبهم لم يكن لديك الكثير من هذا النوع من النفوذ مع فريقك، لذلك كنت قد تضطر إلى العمل على كسب سمعة من قبل exceling في تنفيذ ما لم توافق على القيام به قبل أن يكون لديك ما يكفي من سمعة في الحالات التالية - عليك أن تكون كتكوت يصل أولا

نصائح أخرى

في بعض الأحيان لا يمكنك.

إذا كنت تقرأ بعض الكتب XP، فإنها غالبا ما يقولون أن واحدا من أكبر العقبات الخاصة بك وسوف تكون مقنعة فريقك على التخلي عن ما قاموا به دائما.

وعموما انها ستوصي ترك الناس الذين لا يستطيعون التكيف تذهب إلى مشاريع أخرى (أو مجرد السماح لهم بالرحيل).

ومراجعة الكود قد تساعد في قضيتك. مراجعة الكود إلزامية من كل سطر من التعليمات البرمجية لا يسمع.

وفي وقت ما أفضل حجة مثال على ذلك. كنت أكتب نموذج (أو استبدال إذا لم الكثير من العمل). مع مثال لدراسة سيكون من الأسهل لمعرفة إيجابيات وسلبيات قاعدة بيانات علائقية.

وبوصفها جانبا، وقواعد البيانات ملف ثابت بوجود أماكنهم لأنها أسهل بكثير على "إدارة" من قاعدة بيانات علائقية الحقيقية. حافظ على ذهن منفتح. ؛ -)

وأعتقد أنك قد تضطر إلى قدوة يحتذى بها - عندما يرى الناس أن الطريقة "الجديدة" هي أقل العمل الذي ستعتمد عليه (طالما كنت لا أزال أنوفهم في ذلك)

.

وأود أن تسأل نفسك أيضا ما إذا كان التصميم القديم هو الذي يسبب فعلا مشكلة أو ما إذا كان مجرد جماليا مزعج. من المهم أن اختيار المعارك الخاصة بك - إذا كان التصميم القديم لا يسبب مشكلة أداء أو جعل النظام جاهدين للحفاظ على قد ترغب في ترك التصميم القديم وحده.

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

من الصعب استخلاص الكثير باستثناء الإحباط العام من السؤال الأصلي.

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

عليك أن تكون حذرا.

في بعض الأحيان تكون هناك أسباب وجيهة للأشياء التي يفعلها هؤلاء الأشخاص القدامى.للأسف، قد لا يكونون قادرين حتى على التعبير عن "السبب" - إذا كانوا يعرفون السبب بعد الآن.

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

غالبًا ما تكون هناك متطلبات لتسجيل المعاملات بمستوى أعلى مما قد يفعله نظام إدارة قواعد البيانات (DBMS) الخاص بك.في كثير من الأحيان قد يكون من الضروري تجاوز دلالات معاملات قاعدة البيانات من أجل ضمان صحة التسلسل الزمني، والتحديث مرة واحدة فقط، والمرونة، وعدم التنصل.

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

ومن السهل أن نتجاهل كل هذا باعتباره بطالة أو خطأ عاماً ـ بل وحتى عدم كفاءة.ولكن كن حذرا لأن هذا ليس هو الحال دائما.

وبالمناسبة:هناك نماذج أخرى إلى جانب نظام RDBMS، والبديل لنظام RDBMS ليس بالضرورة "ملفات مسطحة" - على عكس تجربة معظم المبرمجين اليوم.توجد أنظمة إدارة قواعد بيانات (DBMS) هرمية للمعاملات يمكنها التعامل مع إنتاجية أعلى بكثير من أنظمة إدارة قواعد البيانات (RDBMS). آي إم إس لا يزال حيًا جدًا في متاجر IBM الكبيرة، على سبيل المثال.يقدم البائعون الآخرون برامج مماثلة لمنصات مختلفة.

بالطبع في متجر مكون من 4 رجال ربما لا ينطبق أي من هذا.

وسجل لهم حتى لبعض الدورات التدريبية لائقة وبعد ذلك الامر متروك لكم لإقناعهم أنه مع التكنولوجيات الجديدة أكثر من ذلك بكثير هو ممكن (أو على الأقل أسهل!).

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

وظيفة ذات صلة <على أ href = "https://stackoverflow.com/questions/422076/subtly-tell-someone-that-you-cant-just-teach-them-and-them-trying-to-help- لي هو "> هنا .

قد لا تنطبق يلي في الوضع سنة، ولكن يمكنك أن أذكر القليل جدا من التفاصيل التقنية، حتى ظننت أنني أذكر أنه ...

في بعض الأحيان، إذا كان الوصول أنماط مختلفة جدا عن البيانات الحالية من البيانات التاريخية (أنا صنع هذا المثال، ولكن أقول إن البيانات الحالية يتم الوصول 1000s من مرة في الثانية الواحدة، ويصل إلى مجموعة فرعية صغيرة من الأعمدة، و جميع البيانات الحالية يناسب في أقل من 1 GB، في حين، ويقول، يستخدم البيانات التاريخية 1000s من باريه، يتم الوصول فقط 100s من مرات في اليوم الواحد، والوصول هو لجميع الأعمدة)،

وبعد ذلك، ما زملائك في العمل تقوم به من شأنه أن يجعل الشعور بالكمال، لتحسين الأداء. عن طريق فصل البيانات الحالية (البية بوفرة) يمكنك تحسين مؤشرات وهياكل البيانات في هذا الجدول، لpaterns الوصول التردد العالي أنه لا يمكن القيام به في الجدول التاريخي.

وليس كل ما هو "أكاديميا"، أو "تقنيا" صحيحة من وجهة نظر العلائقية بحتة المنطقي عند تطبيقها في الواقع العملي الفعلي.

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