সাধারণ কোডিং মানগুলিকে উপেক্ষা করার জন্য বৈজ্ঞানিক কোড কি আলাদা আলাদা ক্ষেত্র?
না এইটা না.
গবেষণা কোডটি প্রায়শই "ফেলে দেওয়া" হয় এবং এমন ব্যক্তিদের দ্বারা লিখিত হয় যারা পটভূমিতে বিকাশকারী নয়, তবে তাদের একাডেমিক শংসাপত্রগুলি শক্তিশালী। আমি লিখেছি এমন কিছু গবেষণা কোড আমার বর্তমানকে কাঁদিয়ে দেবে । কিন্তু এটা কাজ!
একটি বিষয় বিবেচনা করার জন্য হ'ল প্রকল্পগুলির প্রবেশদ্বাররা যা অন্তর্ভুক্ত করে তা চালিত করে। যদি একটি বৃহত প্রকল্পটি একাডেমিক / গবেষণা কোড প্রকল্প হিসাবে শুরু হয়, কাজ শেষ করে, এবং এখন একটি জগাখিচুড়ি হয় তবে কাউকে এটিকে রিফ্যাক্টরের উদ্যোগ নিতে হবে।
বিদ্যমান কোডটি রিফ্যাক্টর করতে অনেক কাজ লাগে যা সমস্যা তৈরি করে না। বিশেষত যদি এটি সমস্ত ডোমেইনে নির্দিষ্ট থাকে বা পরীক্ষা না করে থাকে। আপনি দেখতে পাবেন যে ওপেনসিভিতে একটি স্টাইল গাইড রয়েছে যা নিখুঁত না হলেও খুব বিস্তৃত। সমস্ত বিদ্যমান কোডে এটিকে পূর্ববর্তীভাবে প্রয়োগ করা হচ্ছে? তা .. হৃদয়ের মূর্ছনার জন্য নয়।
এই কোডটি যদি কাজ করে তবে এটি আরও বেশি কঠিন। কারণ এটি ভাঙ্গা হয়নি। কেন এটি ঠিক করবেন?
তবুও এই প্রকল্পগুলি সমৃদ্ধ, রক্ষণাবেক্ষণ এবং ব্যাপকভাবে ব্যবহৃত হয়!
এটি এক অর্থেই উত্তর। ওয়ার্কিং কোডটি এখনও কার্যকর এবং তাই এটি বজায় থাকার সম্ভাবনা বেশি।
বিশেষত প্রথমদিকে এটি কোনও বিশৃঙ্খলা হতে পারে। এর মধ্যে কয়েকটি প্রকল্প সম্ভবত 1-অফ প্রকল্প হিসাবে শুরু হয়েছিল যা "কখনও পুনরায় ব্যবহারের প্রয়োজন হবে না এবং ফেলে দেওয়া যেতে পারে না"।
এছাড়াও বিবেচনা করুন যে আপনি যদি একটি জটিল অ্যালগরিদম বাস্তবায়ন করেন তবে বৃহত্তর পদ্ধতিগুলি গ্রহণ করা আরও বেশি অর্থ হতে পারে কারণ আপনি (এবং বৈজ্ঞানিক দিকের সাথে পরিচিত অন্যরা) ধারণাটি অ্যালগরিদমকে আরও ভালভাবে বুঝতে পারবেন understand আমার থিসিস কাজটি অপ্টিমাইজেশনের সাথে সম্পর্কিত ছিল। একটি পদ্ধতি হিসাবে মূল অ্যালগরিদম যুক্তিযুক্ত হওয়া এটি বোঝার চেয়ে যথেষ্ট সহজ ছিল যেহেতু এটি আলাদা করার চেষ্টা করছিল। এটি অবশ্যই "পদ্ধতি প্রতি 7 টি রেখা" নিয়ম লঙ্ঘন করেছে তবে এর অর্থ হ'ল অন্য গবেষক আমার কোডটি দেখতে পারেন এবং অ্যালগরিদমে আমার পরিবর্তনগুলি আরও দ্রুত বুঝতে পারবেন।
যদি এই বাস্তবায়ন বিমূর্ত করা হয় এবং ভাল ডিজাইন করা হয় তবে এই স্বচ্ছতা নন প্রোগ্রামারদের কাছে নষ্ট হয়ে যাবে ।
সহকর্মী উত্তরদাতাদের কাছে: এই প্রশ্নটি এক বা একাধিক বৈজ্ঞানিক ডোমেনে কম্পিউটারের নিবিড় কাজগুলির জন্য ওপেন-সোর্স লাইব্রেরির কোড বেসকে বোঝায়। এই প্রশ্নটি থ্রোওয়ে কোড সম্পর্কিত নয়। কোনও উত্তর লেখার আগে আপনি প্রতিটি হাইলাইটেড দিকটি উপলব্ধি করেছেন তা নিশ্চিত করার জন্য দয়া করে এক মুহুর্তের জন্য বিরতি দিন।
আমি মনে করি লোকেরা প্রায়শই এই ধারণাটি নিয়ে থাকে যে সমস্ত ওপেন সোর্স প্রকল্পগুলি শুরু হয়, "আরে আমার কাছে একটি লাইব্রেরির জন্য দুর্দান্ত ধারণা আছে যা হাজার হাজার / মিলিয়ন অন্য দ্বারা ব্যবহৃত হবে" এবং তারপরে প্রতিটি প্রকল্পই এরকম হয়।
বাস্তবতা হ'ল অনেক প্রকল্প শুরু হয় এবং মারা যায়। একটি হাস্যকরভাবে ক্ষুদ্র শতাংশ প্রকল্পগুলি ওপেনসিভি বা ভিটিকে ইত্যাদির স্তরে "এটি" করে দেয় etc.
ওপেনসিভি ইনটেল থেকে একটি গবেষণা প্রকল্প হিসাবে শুরু হয়েছিল। উইকিপিডিয়া এটিকে একটি "প্রকল্পের সিরিজ" এর অংশ হিসাবে বর্ণনা করে। এটির প্রথম নন-বিটা প্রকাশটি 2006 ছিল, বা এটি প্রথম শুরু হওয়ার সাত বছর পরে। আমার সন্দেহ হয় যে লক্ষ্যটি প্রাথমিকভাবে অর্থবহ বিটা প্রকাশ ছিল, নিখুঁত কোড নয়।
অতিরিক্ত হিসাবে, ওপেনসিভি এর "মালিকানা" উল্লেখযোগ্যভাবে পরিবর্তিত হয়েছে changed মানকগুলি পরিবর্তন করে, যদি না সমস্ত দায়িত্বশীল পক্ষগুলি একই মানগুলি অবলম্বন করে এবং প্রকল্পের সময়কালের জন্য তাদের না রাখে।
আমার এও উল্লেখ করা উচিত যে ওপিলসিভি বেশিরভাগ বছর ধরে অ্যাগিল ম্যানিফেস্টোর যে ক্লিন কোডটি প্রকাশের মাধ্যমে অনুপ্রেরণা পেয়েছিল (এবং ভিটিকে প্রায় 10) প্রকাশ করেছিল। ক্লিন কোড প্রকাশের 17 বছর আগে ভিটিকে শুরু হয়েছিল (ওপেনসিভি 9 বছর আগে "মাত্র" ছিল)