এমন কোনও কেস স্টাডি রয়েছে যা বিশ্বাসের সাথে প্রমাণ করে যে পরিষ্কার কোডটি উন্নত হয়েছে? [বন্ধ]


13

আমি প্রোগ্রামার হিসাবে আমার প্রথম আসল চাকরিতে রয়েছি এবং আমি যা দেখছি তা হ'ল "বিড বল অব মড" কোড (দরকারী মন্তব্য ছাড়াই) তবে আমি ক্লিন কোড করতে পছন্দ করি এবং আরও খারাপভাবে কোড করা আমার পক্ষে খুব কঠিন for উপায়।

আমি এমন কিছু স্টাডি কেস সন্ধান করছি যেখানে ক্লিন কোডের ব্যবহার (ক্লিন কোড কী সম্পর্কিত বিভিন্ন সংজ্ঞা এখানে দেখছি) উন্নয়ন এবং রক্ষণাবেক্ষণের উন্নতি করেছে।


1
যে কোনও সময় ক্লিন কোড বনাম কাদায় কোনও বাগ ট্র্যাক করতে হয়েছিল
রাচেট ফ্রিক

@ratchetfreak: আমার ধারণা ওপি তাদের সংগঠনটি কেন তাদের কোড পরিষ্কার করতে হবে সে সম্পর্কে একটি যুক্তি ব্যবহারের জন্য প্রকাশিত অধ্যয়নগুলি সন্ধান করার চেষ্টা করছে।
হতাশ

1
@ ফ্রাস্ট্রেটেড উইথফর্মস ডিজাইনার হ্যাঁ, তবে আমি এই কোম্পানির বিরুদ্ধে "যুক্তি" করার ভান করি না। এটি একটি 16 বছরের পুরানো সংস্থা যা কোনও ছোট্ট শহরে পুরানো প্রযুক্তি ব্যবহার করছে যার কোন চুক্তি নেই (অন্তত ভিন্ন মনের সাথে)। এটি কেবল কিছুটা কৌতূহল এবং "খারাপ কোড" এর কাছে আত্মসমর্পণ না করার জন্য উত্সাহের প্রয়োজন।
রেনাতো দিনহানি

এখানে একটি বর্তমান উদাহরণ kdenlive.org/users/ttill/kdenlive-fundraising-campaign
user16764

মনে রাখবেন যে "ক্লিন কোড" একমাত্র জিনিসটিই সিস্টেমটিকে রক্ষণাবেক্ষণযোগ্য করে তোলে। সুতরাং, আইএনএমওর মতো এই গবেষণাটি করা কঠিন কারণ যেহেতু ফলাফলকে অবদান রাখে এমন অনেকগুলি বিষয় থেকে একটি কারণকে আলাদা করা শক্ত।
NoChance

উত্তর:


4

একটি দ্রুত (কিন্তু কোন উপায়ে সম্পূর্ণ) অনুসন্ধান এর গুগল স্কলার নিবন্ধ যা বব মার্টিন পড়ুন অনেক আপ সক্রিয় ক্লিন কোড , কিন্তু আমি ব্যক্তিগতভাবে কোনো কাগজপত্র যে "পরিষ্কার কোড" এবং উন্নত গঠন মধ্যে একটি পারস্পরিক সম্পর্ক আবরণ দেখা যায় না।

তবে এক মুহুর্তের জন্য আপনার প্রশ্নটি সম্পর্কে ভাবুন। আপনি উন্নত বিকাশের বিষয়ে জিজ্ঞাসা করছেন এবং এটি নিজেই একটি বিস্তৃত বিষয় ক্ষেত্র যা কেবল আরও ভাল কোড লেখার দ্বারা নয় তবে যোগাযোগ, প্রত্যাশাগুলি পরিচালনা, পদ্ধতি এবং স্ট্রোলাইং প্রক্রিয়া, পরীক্ষা, ধারাবাহিক সংহতকরণ এবং সত্যই সত্য হিসাবে আবৃত থাকে many পুরো বাক্স এবং ডাইস যখন আপনি বিবেচনা করেন যে কোনও সফ্টওয়্যার ডেভলপমেন্ট প্রজেক্টকে সফল করার জন্য কতগুলি জিনিস চলে যায়, এতে উন্নতি করা যাক।

সুতরাং আপনার প্রশ্নটি সম্ভবত হওয়া উচিত: ক্লিন কোড লেখা উন্নত সফ্টওয়্যার বিকাশে অবদান রাখে? এর উত্তর দেওয়ার জন্য, আমি যে একমাত্র "প্রমাণ" দিয়েছিলাম তা সম্পূর্ণ বিদ্রূপমূলক ছিল এবং তার জন্য আমি মনে করি যে ক্লিন কোড বইটি একটি দুর্দান্ত রেফারেন্স হবে, কারণ এটি কেবল বব মার্টিন নিজেই লিখেছেন না, পাশাপাশি অনেক অধ্যায়ও অবদান রেখেছিল কিছু স্মার্ট সফটওয়্যার বিকাশকারী দ্বারা সেখানে। যদি এটি সহায়তা না করে, তবে সম্ভবত সামান্য ঠাণ্ডা শক্ত যুক্তি প্রয়োগ হতে পারে।

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

না, আমার কাছে আপনাকে দেওয়ার প্রত্যক্ষ প্রমাণ নেই, এবং এগুলি কেবল এমন একজনের চিন্তা যাঁরা এই জিনিসটি দীর্ঘদিন ধরে কাজ করে চলেছেন এবং যিনি আশা করছেন যে তারা এই পথে কিছুটা সফ্টওয়্যার বিকাশ জ্ঞান অর্জন করেছে । :-)


উত্তম উত্তর, এবং হ্যাঁ, প্রশ্নটি সত্যিই এটি যে আপনি নির্দেশ করেছেন।
রেনাতো দিনহানী

ভাল সাদৃশ্য, সেখানে এমন কোনও গবেষণা আছে যা বলে যে একটি পরিষ্কার কর্মস্থল বা বাড়ির উত্পাদনশীলতা উন্নতি হয়?
বব

15

আপনার যা বোঝার দরকার তা হ'ল কোনও সংস্থা মাঝারি কোড লিখতে প্রস্তুত করে না। সমস্যাটি হ'ল 50% কোড, দেওয়া বা নেওয়া, আপনার কোম্পানির নীচের গড় প্রোগ্রামাররা লিখেছেন। আপনি ক্লিন কোডের সুবিধাগুলি ব্যাখ্যা করার সময় আপনি গায়কদের কাছে প্রচার করছেন। কৌশলটি এটি কীভাবে করা যায়। পিয়ার রিভিউ টুলস, স্ট্যাটিক এনালাইসিস, অটোমেটেড টেস্টিং, অবিচ্ছিন্ন ইন্টিগ্রেশন, টিডিডি, স্ক্রাম, চরম প্রোগ্রামিং ইত্যাদির মতো কিছু বিষয়ে গবেষণা করুন এবং সমস্যাটি কেন খারাপ তা ব্যাখ্যা করার পরিবর্তে সম্ভাব্য সমাধানগুলি উপস্থাপন করুন।


5

আমি জানি যে এটি শস্যের বিপরীতে যাবে তবে বাজারে সময় পাবে, প্রয়োজনীয়তাগুলি সঠিকভাবে পাবে, সঠিক তহবিল থাকবে, ভাল বিপণন হবে, সঠিক দাম পয়েন্ট এবং সরল সৌভাগ্যের কোড মানের তুলনায় কোনও সফ্টওয়্যার পণ্য সাফল্যের উপর আরও বেশি প্রভাব ফেলবে।

কোড কোয়ালিটি উপেক্ষা করা উচিত নয় এটি বলার অপেক্ষা রাখে না , তবে আপনাকে স্বীকার করা উচিত এটি অনেকগুলি কারণের মধ্যে একটি।

প্রচুর সফল পণ্যগুলিতে কেবল ভয়ঙ্কর কোডের অনেকগুলি উদাহরণ রয়েছে (উদাহরণস্বরূপ মূল অ্যাপল ওএস যা এর থ্রেড ম্যানেজমেন্টটিকে অ্যাপ্লিকেশনগুলিতে রেখে গেছে)।

কোনও খারাপ ধারণা বা অতিরিক্ত দামের পণ্যকে অতিক্রম করে সুন্দর কোডের কোনও উদাহরণ আমি ভাবতে পারি না।

সুতরাং যদি এটির তুলনায় বাজারের সময় খুব সুন্দর কোড, সময় সময় বাজারে অগ্রাধিকার নেওয়া উচিত!


1
আমি আপনার সাথে পুরোপুরি একমত, এটাই ঘটে। গ্রাহক সন্তুষ্ট, পরিচালনা পরিচালকরা সন্তুষ্ট, প্রোগ্রামাররা কোড সহ যাদু করার জন্য কঠোর পরিশ্রম করে এবং কখনও সন্তুষ্ট হয় না।
রেনাতো দিনহানি

3

আপনাকে আসল লক্ষ্যগুলি থেকে পরিষ্কার কোড পৃথক করতে হবে: মোতায়েনের পরে ত্রুটিগুলি ঠিক করার ব্যয় হ্রাস এবং অপ্রয়োজনীয় পুনরায় কাজ হ্রাস করতে হবে। আপনি যখন "কম ত্রুটিযুক্ত হওয়ার জন্য ক্লিন কোড লেখার" কথা বলছেন, আপনি ধর্মের কথা বলছেন। আপনি যখন "প্রকল্পে দু'মাসের প্রচেষ্টা 2% সাশ্রয় করে 10% ত্রুটি হার হ্রাস করার" কথা বলছেন, আপনি পরিচালনার কথা বলছেন। ক্লিন কোড কোডবেসের প্রাথমিক গুণমান উন্নত করার জন্য একটি সরঞ্জাম এবং এর ফলে মোট ব্যয় হ্রাস হয় তবে এটি অনেকের একটি।

নীচের কাগজটি ব্যয় দৃষ্টিকোণ থেকে প্রথম বার এটি সঠিকভাবে কেন গুরুত্বপূর্ণ তা ব্যাখ্যা করেছে: http://www.cs.umd.edu/~mvz/pub/evershop02.pdf


1

আমি কোনও নির্দিষ্ট গবেষণা সম্পর্কে অজানা, তবে স্টিভ ম্যাককনেলের কাজ পরীক্ষা করে দেখুন ।

কারও কাছে থাকলে সে করবে। উদাহরণ হিসেবে বলা যায় দুই মিনিট স্ক্যান পাওয়া এই (16 বছর বয়সী কিন্তু এখনও প্রাসঙ্গিক আজ)।


1

ম্যাটঞ্জের উত্তরে যুক্ত করার জন্য, আপনি যদি ইতিমধ্যে না পেয়ে থাকেন তবে আমি বিশেষভাবে কোড কমপ্লিটটি পরীক্ষা করে দেখুন : স্টিভ ম্যাককনেলের একটি প্রাকটিক্যাল হ্যান্ডবুক Software এটি সম্ভবত আপনার কোডিংয়ের উন্নতি করবে এই বিষয়টি ছাড়াও তিনি বিভিন্ন কোডিং অনুশীলন কীভাবে প্রোগ্রামের মানের উপর প্রভাব ফেলে সে সম্পর্কে পুরো বইয়ে অসংখ্য গবেষণার উল্লেখ করেছেন।

উদাহরণ হিসাবে (বই থেকে):

একটি ভিন্ন 450 রুটিনের আরেকটি গবেষণায় (যা কেবলমাত্র একটি অস্বাভাবিক কাকতালীয়) সন্ধান করেছে যে সর্বাধিক সংশ্লেষ-সংহতি অনুপাতের রুটিনগুলিতে সর্বনিম্ন সংশ্লেষ-সংহতি অনুপাতের তুলনায় 7 গুণ ত্রুটি ছিল এবং ব্যয়বহুল হিসাবে 20 গুণ ছিল ঠিক করতে (সেলবি এবং বেসিলি 1991)।

এছাড়াও এটি প্রতিটি প্রোগ্রামারের পড়া উচিত একক সবচেয়ে প্রভাবশালী বই কোন প্রশ্নের প্রথম উত্তর ছিল ? (যদিও আমি দেখতে পাচ্ছি যে এই প্রশ্নের উত্তরগুলি সম্প্রতি এক খোঁড়া জায়গায় পুনর্গঠিত হয়েছিল)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.