[Powered by Google Translate] এই ভিডিওতে, আমরা কোড শৈলী আলোচনা করব যা কিছু যে কাছাকাছি এবং দুর্মূল্য আমার মন. স্টাইল বর্ণনা করে কিভাবে আপনার কোড ফরম্যাট করা হয়, যা কি আসলে কোড আছে থেকে স্বাধীন. নেই শুধু ভাল শৈলী পেতে আপনি একটি CS50 ভাল গ্রেড হবে, কিন্তু এটি সাহায্য করবে আপনি যে কোড হল আরো অনেক কিছু লিখুন পাঠযোগ্য এবং রক্ষণীয়, যা, দিনের শেষে, আপনার জীবন অনেক সহজ করতে হবে. তিনটি কোড শৈলী প্রধান উপাদান যে আমরা আলোচনা করব এই ভিডিওটি হয় মতামত, বিন্যাস, এবং পরিবর্তনশীল নাম. মতামত এর সাথে শুরু করা যাক. মনে রাখবেন, মন্তব্য কোন প্রভাব আছে আপনার কোড কার্যকারিতার. তারা শুধুমাত্র আমাদের প্রোগ্রামাররা সহায়ক হিসাবে ইঙ্গিত হিসাবে পরিবেশন করা. গুড মন্তব্য দুটি প্রশ্নের উত্তর এক উচিত. প্রথমে, এই কোড ব্লক করবেন না? এটি একটি উদ্দেশ্য স্বল্প এবং মিষ্টি বিবরণ লাইন অনুসরণ করে. উদাহরণস্বরূপ, আপনি যেখানে আপনার জায়গা খুঁজে পেতে প্রয়োজন দেখা দিতে পারে একটি বিশেষ বৈশিষ্ট্য ফিক্স প্রয়োগ করা বাগ বা কিছু পরিবর্তন. মতামত ছাড়াই, আপনার বিল যাও অনেক লাইনের উপর প্রয়োজন হতে পারে কোড ঠিক জিনিসটা যেখানে যে বৈশিষ্ট্য হল যে এর চেষ্টা. অথবা যদি এটা কয়েক দিন আগে আপনি এক দিকে তাকিয়ে করেছি এর আপনার প্রোগ্রাম, আপনি মনে রাখতে পারে কি একটি বিশেষ ফাংশন বা লুপ আছে. তাই মন্তব্য দিয়ে নিজেকে reacquainting করতে হবে পুরানো কোড, বা নিজের acquainting সঙ্গে অন্য কারো কোড, অনেক বাধামুক্ত. দ্বিতীয় প্রশ্নটি একটি ভাল মন্তব্য নেই উত্তর হল কেন আমি কি এই ভাবে এই ব্লক বাস্তবায়ন? হিসাবে আপনি কোড লিখুন, ঘন ঘন আপনাকে করতে হবে যাও নকশা সিদ্ধান্ত নেওয়ার জন্য. যখন একটি লুপ জন্য একটি লুপ বা আমি এখানে ব্যবহার করা উচিত? একটি পৃথক ফাংশন মধ্যে আমি এই কোড ব্লক করা উচিত? মন্তব্য ব্যবহার করে আপনি আপনার নকশা নথিতে পারেন সিদ্ধান্ত, যা আপনার কোড সহজে বুঝতে করতে হবে অন্যদের জন্য, কে জিজ্ঞেস সঠিক হতে পারে নিজেদের নকশা প্রশ্ন হিসাবে তারা আপনার কোড পড়া. বা এমনকি নিজেই, যদি আপনি একটি কোড ব্লক পরে ফিরে আসা কিছু সময় কাল. সি, এবং অন্যান্য ভাষায় আমরা CS50 মধ্যে দেখতে পাবেন, সেখানে আপনার কোড মন্তব্য যোগ করার দুটি উপায়, ইন লাইন মন্তব্য এবং বহু - লাইন মতামত. ইন লাইন মন্তব্য কোড টুকরোগুলি দলিল জন্য মহান মধ্যে কাজ করে. উদাহরণস্বরূপ, একটি মধ্যে লাইন মন্তব্য বর্ণনা লুপ বা কোণার ক্ষেত্রে যে necessitates জন্য একটি উদ্দেশ্য একটি শর্ত. মাল্টি লাইন মন্তব্য ফাংশন দলিল জন্য মহান. আপনি যখনই কোনো একটি ফাংশন লিখুন, আপনি সর্বদা, সর্বদাই, নথিতে সবসময় কি এটি একটি মন্তব্য নেই সঙ্গে আছে. এর মধ্যে রয়েছে কি ফাংশন ইনপুট করা হয়, কি ফাংশন অনুযায়ী ফলাফল প্রদর্শিত হবে, এবং হয়ত কেন ক্রিয়া উপায় যে এটি প্রয়োগ করা হচ্ছে. আপনি যখনই কোনো একটি ফাংশন এর স্বাক্ষর পরিবর্তন, ফিরে মান, বা বাস্তবায়ন, তা আরও গুরুত্বপূর্ণ আপডেট অনুরূপ ডকুমেন্টেশন মন্তব্য নেই. একটি ফাংশন এর মন্তব্য এবং একটি মধ্যে অমিলের বাস্তবায়ন পাঠকদের জন্য সত্যিই বিভ্রান্তিকর হতে পারে. একইভাবে, একটি উপরের বহু - লাইন তৈরি মন্তব্য নেই প্রতিটি. গ বা. জ ফাইল আপনি লিখুন, বর্ণনা কি ফাইল, কিন্তু একটা খুব ভাল ধারণা. হিসাবে আপনি আপনার কোড মন্তব্য করছেন প্রথম প্রশ্ন, এক সময় আপনি হয়, হতে পারে ভাল, কত আমার কোড আমি মন্তব্য করা উচিত? এটা প্রায়ই এর প্রতি নথিতে অপ্রয়োজনীয় কোড একক লাইন. উদাহরণস্বরূপ, একটি লাইন যে int x = 5 একটি প্রয়োজন হবে না এটা বলা আছে "5 এক্স সেট" সম্পর্কে মন্তব্য. যথেষ্ট মন্তব্য নেই যদিও,, হিসাবে আমরা দেখা করেছি, করতে পারেন প্রতীতি আপনার কোড খুব কঠিন. সুতরাং একটি রুল অফ থাম্ব ভাল করার আকর্ষণীয় ব্লক মন্তব্য করতে হয় কোড, যেখানে একটি ব্লক কয়েক সম্পর্কিত লাইন দ্বারা গঠিত. সুতরাং আসুন একটি উদাহরণ কটাক্ষপাত করা. এখানে একটি uncommented সি ফাংশন. ঠিক আছে, যেহেতু এটি একটি ফাংশন, প্রথম জিনিস যুক্ত করার জন্য আমরা প্রয়োজন একটি মন্তব্য নেই ব্যাখ্যাতে ফাংশন এর ইনপুট হয় এবং এটি কী জন্য প্রয়োজন. সুতরাং আসুন একটি বহু - লাইন মন্তব্য যোগ করুন. গ্রেট. এখন আমরা জানি ঠিক কি আমাদের ফাংশন আছে. চলুন এখন কিছু লাইন মন্তব্য যোগ করুন. আমরা অনুরূপ লাইন দুটি ব্লক করে আমাদের কোড বিভক্ত করা যেতে পারে. লাইন 4 এবং 5 কনস্ট্রাক্ট স্ট্রিং ইনপুট এবং এর উপর ভিত্তি লাইন 9 আউটপুট মাধ্যমে 6 যারা গান গানের মধ্যে স্ট্রিং. সুতরাং let এর যে নথিতে মতামত সঙ্গে. জট্টিল. এখন আমাদের ফাংশন মন্তব্য করা হয়. উল্লেখ্য, আমাদের মধ্যে-লাইন মন্তব্য সম্পূর্ণ ব্যবহার করার প্রয়োজন হবে না বাক্য বা একটি নির্দিষ্ট সময়ের সঙ্গে শেষ. এটা খুবই গুরুত্বপূর্ণ যে দ্বিতীয় স্ল্যাশ মধ্যে একটি স্থান আছে এবং মন্তব্য নেই শুরু. এটি আপনার প্রোগ্রামের মধ্যে মতামত হার যে আপনার জন্য শুটিং করা উচিত. এখানে লক্ষ্য করুন কিভাবে আমরা সম্পর্কিত কোড দুটি ব্লকে বিভক্ত ভিতর আমাদের একটি অতিরিক্ত গাড়ি ফেরত ধুয়া ফাংশন. এই কোড শৈলী পরবর্তী উপাদান আমাদের এনেছে, বিন্যাস. আমি যখন প্রথম প্রোগ্রামিং শুরু, আমি আঘাত লিখুন কি খুব কম ক্ষেত্রে, যা দৈত্য ফলে, অপাঠ্য কোড ব্লব. আমি মনে করি আমি আসলে আমার সহকর্মী শিক্ষণ বিক্ষুব্ধ, যেহেতু সে আমার সাথে খুব সুখী ছিল না. দৃশ্যরূপে সম্পর্কিত কোড ব্লক জোট, ঘোড়ার গাড়ি ব্যবহার আয়, আপনার কোড সহজ এবং পরিষ্কারভাবে সর পড়া করতে পারেন বর্ণা কোড লাইন যা আপনার মতামত ব্যাখ্যা করা হয়. যে, বলেন ছড়াতে আপনার কোড আউট সঙ্গে অনেক, হচ্ছে কোড ব্লক বা ফাংশন মধ্যে দুই বা ততোধিক লাইন, করতে পারেন এছাড়াও এটি অনেক কম পাঠযোগ্য না. আঁকাবাঁকা রেখা আরেকটি গুরুত্বপূর্ণ কোড বিন্যাস অনুযায়ী দৃষ্টিভঙ্গি. সর্বদা সবসময়,, সবসময় একটি ফাংশন শরীর, লুপ ইন্ডেন্ট, অথবা শর্ত. এটি পরিষ্কার যে কোড লাইনের একটি ভিতর আছে লুপ, উদাহরণস্বরূপ, এবং যা লাইনের কোড যে বাইরে আছে. CS50 পক্ষ থেকে আপনাকে চার শূণ্যস্থান ইন্ডেন্ট, কিন্তু যদি আপনি অন্য কিছু চয়ন সামঞ্জস্যপূর্ণ হবে নিশ্চিত করা সারা আপনার কোড. যে নোট অন, CS50 পক্ষ থেকে আপনাকে ধনুর্বন্ধনী লিখুন তাদের নিজস্ব লাইন. এই ভাবে, ধনুর্বন্ধনী একই বাম আপ চাক্ষুষরূপে রেখায় হবে মার্জিন, তাই এটি স্ফটিক যেখানে একটি ব্লক শুরু এবং শেষ এর সাফ. তবে, এটি একটি এমন হিসাবে একই লাইনে ধনুর্বন্ধনী লিখুন অনুমোদন উদাহরণের জন্য শর্ত,, স্থান সংরক্ষণ যাও. যদি আপনি এই না যদিও, এরপর নিশ্চিত হোন যে আপনি একটি স্থান অন্তর্ভুক্ত কোঁকড়া বক্রবন্ধনী আগে এটি পরবর্তী একটি ক্লোজিং smooshed এর না paren বা একটি শব্দ. যেটা আপনি পছন্দ করেন, সবচেয়ে গুরুত্বপূর্ণ যে কাজটা করা হয় আপনার কোড জুড়ে সামঞ্জস্যপূর্ণ. কি আমরা দেখতে না চান যদিও,, হয় কোঁকড়া ধনুর্বন্ধনী সংভৃত. এমনটি তোলে ধনুর্বন্ধনী থেকে সংযোগ বিচ্ছিন্ন প্রদর্শিত হবে শর্ত, লুপ, ফাংশন বা তারা, demarcating তৈরি করছি হার্ড কোড পড়তে হয়. C এবং অন্যান্য ভাষায় আমরা দেখতে পাবেন, তরঙ্গায়িত হয় ধনুর্বন্ধনী একক লাইন শর্ত বা loops জন্য ঐচ্ছিক. এটা জরিমানা এই ক্ষেত্রে কোঁকড়া ধনুর্বন্ধনী বর্জন করা, কিন্তু যদি আপনি যাতে না, যাও সামঞ্জস্যপূর্ণ হবে নিশ্চিত করা সারা আপনার কোড. যখন ফাংশন সংজ্ঞা, CS50 বিশেষ পরামর্শ দেওয়া হচ্ছে আপনি লিখুন নাম হিসাবে একই লাইনে ফাংশন রিটার্ন টাইপ ফাংশন. তবে, এছাড়াও তার নিজস্ব উপর রিটার্ন টাইপ করে OK লিখুন লাইন, যা ফাংশন সংজ্ঞা সহজে খুঁজে পেতে পারেন কিছু টেক্সট এডিটর. অবশেষে, একটি প্রায় শূণ্যস্থান অন্তর্ভুক্ত করার বিষয়ে নিশ্চিত হতে কিওয়ার্ড এবং অপারেটর. উদাহরণস্বরূপ, একটি লাইন যে int x = 5 হয় অনেক সহজ যদি সমান সাইন কাছাকাছি শূণ্যস্থান আছে পড়া. অনুরূপভাবে, আপনি একটি নিশ্চিত স্থান আছে পরে কীওয়ার্ড যদি না, জন্য, এবং যখন. একটি স্থান উপস্থিত না থাকলে, এই ফাংশান কল মত মনে হত, যা তারা না. তাই আসুন ভাল শৈলী প্রয়োগের উদাহরণ কটাক্ষপাত করা একটি কোড ব্লক খারাপভাবে বিন্যস্ত. ঠিক আছে, এবার এর উপর থেকে শুরু. আমরা যে প্রধান খোলার বক্রবন্ধনী একই হয় দেখতে পারেন ফাংশন এর নামের লাইন. যদি আমরা এই কাজ করতে যাচ্ছেন, হতে মধ্যে একটি স্থান হতে হবে ক্লোজিং paren এবং ভালো বক্রবন্ধনী,. যাইহোক, CS50 বিশেষ পরামর্শ দেওয়া হচ্ছে যে ধনুর্বন্ধনী দাঁড়ানো তাদের নিজস্ব লাইন. সুতরাং আমি কি যে করব. এখন যে আমরা প্রধান ফাংশন শরীরে, আমরা করতে হবে যাও কোড সংভৃত শুরু; আমরা ব্যবহার করব চার শূণ্যস্থান বাঞ্ছনীয়. এর পরে, আমরা দেখতে যে এর সমান সাইন কাছাকাছি কোন স্থান এখানে তাই, আসুন যে যোগ করুন. এখানে, আমরা দেখতে যে যদি এবং এর মধ্যে কোন স্থান নেই খোলা paren তাই, আসুন যোগ করুন যে, এর সঙ্গে কিছু স্থান কাছাকাছি সাইন তার চেয়ে অনেক বেশী. আবার, আমরা দেখতে ক্লোজিং paren এবং এর মধ্যে কোন স্থান নেই খোলার এখানে যুগল. যদি আমরা একই লাইনে এই করা যাচ্ছেন, সেখানে প্রয়োজন কোঁকড়া বক্রবন্ধনী আগে একটি স্থান হতে. তবে, এটি আমাদের শরীরের মত দেখাচ্ছে শর্ত কেবল এক লাইন. তাই আমরা ধনুর্বন্ধনী এ অন্তর্ভুক্ত করার প্রয়োজন হবে না. আমরা এখন যাও প্রতিটি শরীরের এ ইন্ডেন্ট নিশ্চিত করা প্রয়োজন আমাদের শর্ত. আমরা নিশ্চিতরূপেই এই শেষ লাইন একই হবে না চান অন্যথায় হিসাবে লাইন, তাই এর যাক আঘাত লিখুন এবং ইন্ডেন্ট. অবশেষে, বন্ধ করার জন্য মূল প্রয়োজন কোঁকড়া বক্রবন্ধনী করা যাও নিজস্ব লাইন. আমরা এখানে আমরা দুটি আছে দেখতে পারেন সম্পর্কিত কোড ব্লক. 6 মাধ্যমে বাধাপ্রাপ্ত 4 ইনপুট এবং ব্যবহারকারীর জন্য অনুরোধ জানানো বাকি লাইন ব্যবহারকারী যাও যে ইনপুট প্রদর্শন. সুতরাং এই দুই ব্লকের মধ্যে কিছু স্থান রাখা ইন্দ্রিয় তোলে স্বচ্ছতার জন্য. এবং সেখানে আমরা যেতে; এখন এই কোড অনেক সহজ সহ ভাল শৈলী. অবশেষে, আসুন আমাদের ভাল শৈলী তৃতীয় কম্পোনেন্ট সম্পর্কে কথা বলতে: পরিবর্তনশীল নাম. তোমার পরিবর্তনশীল নামের বর্ণনা উচিত মান যে তারা চিত্রিত করা. চলুন আমাদের আগে যেমন পরিদর্শন করুন. বোতল একটি ভাল পরিবর্তনশীল জন্য বর্ণনামূলক নাম যে কিভাবে উপস্থাপন অনেক বোতল প্রাচীর রেখে করা হয়. X অথবা numBots নামের মত হয় এবং খুব বর্ণনামূলক না . আপনার কোড পাঠযোগ্যতা জন্য ভাল না যদিও একটি একক অক্ষর দ্বারা নামে ভেরিয়েবেলগুলো সাধারণ গণিত ও অন্যান্য ক্ষেত্র, তারা আপনার কোড করা খুব কঠিন হতে পারে বুঝতে. এই নিয়মের ব্যতিক্রম হল iterator loops ভিতরে ভেরিয়েবল. উদাহরণস্বরূপ জন্য loops ইন,, এটি পরিবর্তনশীল এর ব্যবহার জরিমানা i, j, এবং পুনরাবৃত্তির জন্য ট ভালো নামগুলি. যখন loops মধ্যে iterator ভেরিয়েবল তৈরি, এটা সুপারিশ করা হচ্ছে যে আপনি লুপের মধ্যে নিজে তাই না, বরং যাতে লুপ বাইরে তুলনায়, আমরা ভেরিয়েবল হিসাবে রাখতে পারেন সম্ভব হিসাবে শক্তভাবে scoped. অন্য দিকে, একটি ভালো পরিবর্তনশীল নামের বোতল সংখ্যা বাকি প্রাচীর হয়, যখন বর্ণনামূলক মাত্রাতিরিক্ত, বাগাড়ম্বরপূর্ণ প্রয়োজনীয় এবং হইনি. ইভেন্ট আপনি সঙ্গে একটি পরিবর্তনশীল তৈরি করতে চান না একাধিক শব্দ, আন্ডারস্কোর সঙ্গে যারা শব্দ আলাদা. উদাহরণস্বরূপ, is_ready অনেক isReady তুলনায় আরো পাঠযোগ্য. এটা একই লাইনে একাধিক ভেরিয়েবল ডিক্লেয়ার সূক্ষ্ম. যাইহোক, যদি আপনি তা করেন, কিন্তু আরম্ভ না কিছু ভেরিয়েবল না . অন্যদের না যে int-dimes, পেনিসমূহ ভালো কিছু অর্থ সেমিকোলন, এটা ঠিক আছে. কিন্তু int-dimes = 0, পেনিসমূহ সেমিকোলন হয় না. অবশেষে, যখন পয়েন্টার প্রকাশক, এটি বাঞ্ছনীয় এর আপনি যে তারকা পরের যাও পয়েন্টার এর ধরন, না লিখুন ভেরিয়েবলের নাম. সুতরাং int-* পি বরং int-তুলনায় বাঞ্ছনীয় স্থান * পি. Whoo! নিয়ম অনেক ভালো যাতে মনে হয় , মনে রাখবেন কিন্তু চিন্তা করবেন না. যদি সন্দেহ কখনও, CS50 এর পড়ুন বিব্রত বোধ করবেন না অনলাইন শৈলী গাইড. চলুন দ্রুত গুরুত্বপূর্ণ সংক্ষেপ কোড শৈলী পয়েন্ট. প্রথমত, আপনার মন্তব্য কোড. সর্বদা সবসময়,, সবসময় বর্ণনা ফাংশন কি করবেন সঙ্গে একটি মাল্টি লাইন মন্তব্য এবং মন্তব্য প্রতি কয়েক লাইন লাইন কোড. দ্বিতীয়. আপনার কোড বিন্যাস সঙ্গে সামঞ্জস্যপূর্ণ হবে. আপনার ধনুর্বন্ধনী মধ্যে বসানো এবং ব্যবহার অবধান সেইসাথে কীওয়ার্ড অপারেটর এবং চারপাশে ফাঁক. অবশেষে, পরিবর্তনশীল বর্ণনামূলক নাম নির্বাচন করুন. ভেরিয়েবল মান তারা প্রতিনিধিত্ব বর্ণনা, কিন্তু উচিত আপনি চিরতরে নিতে না টাইপ করা প্রয়োজন. এবং যে এটি. এই সব দ্রুত হওয়ার হিসাবে দ্বিতীয় প্রকৃতি হবে আরো এবং আরো কোড, লিখুন এবং আপনি কোডিং হবে কোন সময় শৈলী. আমার নাম টমি, এবং এই CS50.