আমি সম্প্রতি ডিজাইন বাই কন্ট্রাক্ট (ডিবিসি) আবিষ্কার করেছি এবং আমি কোডটি লেখার একটি অত্যন্ত আকর্ষণীয় উপায় পেয়েছি। অন্যান্য জিনিসগুলির মধ্যে এটি মনে হয়:
- আরও ভাল ডকুমেন্টেশন। যেহেতু চুক্তিটি ডকুমেন্টেশন, তাই এটির পক্ষে পুরানো অসম্ভব। অতিরিক্ত হিসাবে, চুক্তিটি একটি রুটিন ঠিক কী করে তা নির্দিষ্ট করে বলে এটি পুনরায় ব্যবহারের পক্ষে সহায়তা করতে সহায়তা করে।
- সরল ডিবাগিং। যেহেতু একটি চুক্তি ব্যর্থ হওয়ার মুহুর্তে প্রোগ্রামের প্রয়োগ কার্যকর হয়, ত্রুটিগুলি প্রচার করতে পারে না এবং লঙ্ঘিত নির্দিষ্ট দাবিটি সম্ভবত হাইলাইট করা হবে। এটি উন্নয়নের সময় এবং রক্ষণাবেক্ষণের সময় সহায়তা সরবরাহ করে।
- আরও স্থির বিশ্লেষণ। ডিবিসি মূলত কেবল হোয়ের যুক্তির বাস্তবায়ন এবং একই নীতিগুলি প্রয়োগ করা উচিত।
তুলনায় তুলনামূলকভাবে ব্যয়গুলি কম মনে হচ্ছে:
- অতিরিক্ত আঙুল-টাইপিং। যেহেতু চুক্তিগুলি বানান করতে হয়।
- চুক্তি লেখার সাথে স্বাচ্ছন্দ্য বজায় রাখতে কিছুটা প্রশিক্ষণ নেয়।
পাইথনের প্রাথমিকভাবে পরিচিত হয়ে আমি বুঝতে পেরেছি যে পূর্বশর্তগুলি লিখে রাখা সম্ভব (অনুপযুক্ত ইনপুটটির জন্য কেবল ব্যতিক্রম ছুঁড়ে দেওয়া) এবং নির্দিষ্ট পোস্টকন্ডিশনগুলি আবার পরীক্ষা করার জন্য দৃ as়তা ব্যবহার করা এমনকি সম্ভব possible তবে কিছু অতিরিক্ত যাদু ছাড়াই 'পুরানো' বা 'ফলাফল' এর মতো নির্দিষ্ট বৈশিষ্ট্যগুলি অনুকরণ করা সম্ভব নয় যা শেষ পর্যন্ত আন-পাইথোনিক হিসাবে বিবেচিত হবে। (তদ্ব্যতীত, কয়েকটি গ্রন্থাগার রয়েছে যা সমর্থন দেয় তবে শেষ পর্যন্ত আমি এগুলি ব্যবহার করা ভুল বলে মনে করি যেহেতু বেশিরভাগ বিকাশকারীরা তা করেন না)) আমি ধরে নিয়েছি এটি অন্য সমস্ত ভাষার ক্ষেত্রেও একই সমস্যা (অবশ্যই ব্যতীত , আইফেল)।
আমার অন্তর্নিহিততা আমাকে বলেছে যে সহায়তার অভাবটি অবশ্যই অনুশীলনের এক ধরণের প্রত্যাখ্যানের ফলস্বরূপ হতে পারে, তবে অনলাইনে অনুসন্ধান করা ফলপ্রসূ হয়নি। আমি ভাবছি যে কেউ যদি ব্যাখ্যা করতে পারে যে বেশিরভাগ আধুনিক ভাষাগুলি এত কম সমর্থন কেন বলে মনে হচ্ছে? ডিবিসি ত্রুটিযুক্ত বা অতিরিক্ত ব্যয়বহুল? বা চরম প্রোগ্রামিং এবং অন্যান্য পদ্ধতিগুলির কারণে এটি কি কেবল অচল?