সোর্স কোডের ভাল উদাহরণগুলি পড়তে আপনি কোথায় যান? [বন্ধ]


53

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


এই Stackoverflow উপর বলা হয়েছে stackoverflow.com/questions/3083525/...
nikie

3
আমি কেবল আমার পুরানো কোডটি ফিরে দেখছি।
পল

পল, যে ওপি সাহায্য করবে না তাই না? স্পষ্টতই তাদের অতীতে ভাল কোড লেখা নেই। sheesh।
জঙ্কি

2
@ জঞ্জি আশা করি তাদের মধ্যে কিছুটা হাস্যরসের অনুভূতি রয়েছে তবে :)
কনরাড মোরাওস্কি

এই প্রশ্নের আমি জিজ্ঞাসা কিন্তু যাচ্ছিল তার আমার সৌভাগ্য যে আমি পাওয়া এটা চিন্তা .আমি এই শুধুমাত্র আমার সমস্যা হল আমি জানি না যেখানে কোড খুঁজে পেতে
ধনঞ্জয়

উত্তর:


30

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

আরেকটি বিকল্প হ'ল স্কট হ্যানসেলম্যানের সাপ্তাহিক উত্স কোড ব্লগ পোস্ট।

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

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


3
-1: একটি শিক্ষানবিস ভাল এবং খারাপ কোডের মধ্যে বলতে পারে না, সুতরাং 'ব্রাউজিং' প্রকল্পগুলি সাহায্য করবে না। আপনি 'প্রতিষ্ঠিত' প্রকল্পগুলির পরামর্শ দিয়ে এটিকে কভার করেছেন, তবে আমরা প্রকল্পগুলির মধ্যে ভয়াবহ কোড দেখেছি all যদিও এর চেয়ে ভাল উত্তর আমার কাছে নেই। এটি প্রকৃতপক্ষে একটি কঠোর প্রশ্ন, যার উত্তর প্রয়োজন ব্যক্তিটির দক্ষতার স্তরগুলি, আগ্রহগুলি এবং কোনও পরামর্শদাতার জ্ঞানের মাধ্যমে ফিল্টার করা।
ক্রিস

1
@ ক্রিস আমি একমত নই, তবে আমি নোট করব যে খারাপ কোড পড়া থেকেও অনেক কিছু শিখতে হবে। যুক্তিযুক্তভাবে, খারাপ কোডটি পড়া এবং অনুসরণ করা সঠিকভাবে সংগঠিত প্রকল্পে ডাইভিংয়ের চেয়ে আরও কঠোর। (এবং এটি "ভাল" কোডটি কী তা বোঝার চেষ্টা করার আগেই আমরা এটি করেছি :) :))
অ্যাডাম লিয়ার

1
যথেষ্ট সত্য। তবে আমাদের বেশিরভাগ অ-মেধাবীদের জন্য স্ব-শিক্ষার সীমাবদ্ধতা রয়েছে। সর্বাধিক নতুনদের (সমস্ত ক্ষেত্রের মধ্যে) এর "ভালো" এক্সপোজার হবে তা একটি অনুভূতি পেতে হয় ভাল। এবং "ইন্টারনেট" হ'ল "আমি ভাল!" এর একটি বিশ্বজুড়ে শব্দ, যা সাহায্য করে না।
ক্রিস

10

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

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

বিশেষত, আমি বিশ্বাস করি যে ভাল কোডের ধারণা অর্জনের জন্য খুব ভাল পদ্ধতির হ'ল আন্তঃক্রিয়ামূলক ডিবাগারটিকে জটিল কোডগুলির মাধ্যমে সনাক্ত করার জন্য, অনুরোধের শৃঙ্খলা অনুসরণ করে। উদাহরণস্বরূপ, আপনার সংস্থার প্রধান ফাইলগুলির একটিতে যান, ব্রেকপয়েন্ট রাখুন এবং সেগুলি থেকে জিনিসগুলি সন্ধান করতে শুরু করুন।

কয়েকবার পরে আপনি গ্লোবালগুলিতে দশ স্তরের ইনডেন্টেশন এবং নির্ভরতা সহ 100-লাইন ফাংশনগুলি দ্বারা বিচ্ছিন্ন হয়ে পড়ুন এবং কয়েকবার আপনি ভাল পচে যাওয়া কোডের মাধ্যমে বাতাস ব্যবহার করলে আপনি নিজের প্রোগ্রামিং উন্নত করতে পারেন।


4

দুর্দান্ত কোডগুলি সন্ধান করার পরিবর্তে সাধারণ প্রোগ্রামিং বইগুলিতে সন্ধান করুন।

উদাহরণস্বরূপ কোড সম্পূর্ণ, কঠিন কোড রচনা, নকশার প্যাটার্নস (আমি নিশ্চিত যে এই সাইটে অন্য প্রশ্ন এবং উত্তরের আশেপাশে প্রচুর অন্যান্য বই রয়েছে)

সেই বইগুলি দর্শনের বর্ণনা দিচ্ছে যা ভাল কোড হিসাবে বিবেচিত। পঠনযোগ্যতা, কর্মক্ষমতা, রক্ষণাবেক্ষণযোগ্যতা, বাগ সনাক্তকরণ ইত্যাদি

যা লেখক কী অর্জন করতে চাইছেন তা নির্ধারণের চেয়ে আরও উন্নত সংস্থান এবং আরও দক্ষতার পরিবেশন করে।

পিএস গুড সফ্টওয়্যার ডিজাইনটি আপনার পাশাপাশি খোঁজ করা উচিত। প্রকল্পটি যথেষ্ট বড় হিসাবে প্রদত্ত কোডগুলি কেবল পর্যবেক্ষণ কোডগুলি থেকে সনাক্ত করা শক্ত hard


1
আমি একটি ভাল সংস্থান হিসাবে "ক্লিন কোড" উল্লেখ করতে চাই।
mhr

3

আমি দেখতে পেয়েছি যে লাইব্রেরির কোডগুলি যা আপনার পছন্দসই প্রোগ্রামিং ভাষার সাথে আসে তা প্রায়শই সেরা অভ্যাস এবং ভাল কোডিং শৈলী বলে মনে করা হয় তা দেখতে একটি ভাল শুরু।

যদিও আপনি অ্যালগরিদম বা জটিল ধারক শ্রেণীর বাছাইয়ের মতো জায়গাগুলি দিয়ে শুরু করতে চান না।

রাইটিং কোডে আকর্ষণীয় অন্তর্দৃষ্টিগুলির জন্য আরেকটি জায়গা হ'ল প্রকল্প ইউলার ( http://projecteuler.net/ )। সামান্য অসুবিধা: ফোরামে অ্যাক্সেস পাওয়ার জন্য আপনাকে অবশ্যই প্রথমে সমস্যার সমাধান করতে হবে যেখানে অন্যরা তাদের সমাধান পোস্ট করেছে (অভিজ্ঞতার সমস্ত স্তরের আকর্ষণীয় চ্যালেঞ্জ)। তবে একবার হয়ে গেলে আপনি প্রায় সমস্ত বড় প্রোগ্রামিং ভাষার উদাহরণ খুঁজে পাবেন। এবং যেহেতু আপনি ইতিমধ্যে সমস্যার সমাধান করেছেন তাই এটি আপনাকে অন্যান্য লোকের কোড বুঝতে সহায়তা করবে lusযে আপনি এখনও জানেন না এমন ভাষাগুলির কোডগুলি দেখতে পান তবে আকর্ষণীয় হতে পারে।


3

আমি সুন্দর কোড পড়তে সত্যিই উপভোগ করেছি । এটির বিশদ ব্যাখ্যা সহ সংক্ষিপ্ত, তবে খুব সুন্দর কোড উদাহরণ রয়েছে।

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

... লেখকরা তাদের প্রকল্পের আর্কিটেকচার, এটির নির্মাণকাজে তৈরি বাণিজ্যগুলি এবং যখন নিয়ম ভঙ্গ করা গুরুত্বপূর্ণ ছিল তখন তারা উচ্চস্বরে চিন্তা করে।

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

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