কোনও প্রোগ্রামারের নিজের কোডের সাথে 100% স্পষ্টতা না পাওয়াটা কি স্বাভাবিক? [বন্ধ]


19

আমি একজন বিশেষজ্ঞ প্রোগ্রামার নই তাই এটিও হতে পারে তবে আমি লক্ষ্য করেছি যে যখনই আমি জটিল কোড তৈরি করি (আমি সম্প্রতি তৈরি একটি দাবা খেলার মতো) আমি প্রোগ্রামটি কাজ করার জন্য সঠিক কোডটি লিখতে সক্ষম হয়েছি, যদিও আমি এটি পরে পেয়েছি- বা কয়েক সেকেন্ড পরেও! - আমাকে প্রায়শই বিরতি দিতে হয়, এবং ভাবতে হয়, কীভাবে এটি কাজ করে?

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

জটিল কোড লেখার সময় প্রোগ্রামাররা কি বোঝেন না যে তারা অর্ধেক সময় কী করছেন?


13
এটি একটি চিহ্ন যে আপনি চালাক হওয়ার জন্য খুব চেষ্টা করছেন। আপনার যদি এটি নিজে পড়তে সমস্যা হয় তবে আপনাকে আরও সহজ এবং আরও মডিউল কোড লিখতে হবে।
শোডান

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

4
আমার নিজের কোডের তুলনায় আমার কখনই 100% স্পষ্টতা নেই।
কোডসইনচাউস

2
5 ডি অ্যারে সত্যিই মনে হচ্ছে এটি কিছু বিমূর্ততা ব্যবহার করতে পারে।

3
কোনও বিকাশকারী কি সবসময় তার কোডের সাথে 100% স্পষ্টতা রাখে?
জোহান

উত্তর:


30

না, এটা স্বাভাবিক নয় 1 । কমপক্ষে, ভাল প্রোগ্রামারদের পক্ষে এটি স্বাভাবিক নয়। কেউ প্রোগ্রাম শিখতে সম্ভবত এটি স্বাভাবিক normal

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

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

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


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


8
[1] আরও হতাশাবাদী দৃষ্টিকোণ থেকে, এটি স্বাভাবিক তবে এটি ভাল নয়।
ড্যান

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

1-ডি অ্যারেটি একটি লাইন, 2-ডি গ্রিড, 3-ডি কিউব, 4-ডি কিউবের একটি লাইন, 5-ডি কিউবগুলির গ্রিড ইত্যাদি হয় তবে আমি কোনও ব্যবহার দেখি না don't যেমন একটি জটিল তথ্য কাঠামোর জন্য যখন এটি দাবা হয়।
ব্যবহারকারী 2785724

15

এর দুটি প্রকার রয়েছে: ১) বিভ্রান্তি ২) সুখী অজ্ঞতা

প্রথমটি খারাপ এবং সময় এবং অভিজ্ঞতা দিয়ে অদৃশ্য হয়ে যেতে পারে।

প্রকল্পগুলি বৃহত্তর হয়ে উঠলে দ্বিতীয়টি একটি ভাল: আপনার কোডটি দিয়ে কাজ করতে সক্ষম হতে যদি আপনাকে প্রতিটি প্রয়োগের বিশদটি মনে রাখতে হয় তবে এতে কিছু সমস্যা আছে ("তথ্য গোপন করা" দেখুন)।

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

সুতরাং "না জানা" আসলে সফ্টওয়্যার বিকাশে একটি ধ্রুবক - এটি কীভাবে বা আপনি এটি পরিচালনা করেন তা ঠিক।


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

12

আমি বলব যে এটি স্বীকার করার চেয়ে লোকেদের চেয়ে বেশি সাধারণ। এমনকি ব্রায়ান কর্নিগানও এটিকে ইঙ্গিত করেছেন:

ডিবাগিং প্রথম স্থানে কোড লেখার চেয়ে দ্বিগুণ শক্ত। অতএব, আপনি যদি কোডটি যথাসম্ভব চালাক হয়ে লিখেন তবে আপনি সংজ্ঞা অনুসারে এটিকে ডিবাগ করার পক্ষে যথেষ্ট স্মার্ট নন।

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

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

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


আমি যে এক ব্রায়ান সঙ্গে মতানৈক্য আছে আমি ভালোবাসি , ডিবাগ আমি কয়েক জনের আমি শিল্প কে? জানতে এক কিন্তু আমি হার কোডটি আমি যে অত্যন্ত লিখবেন না।
জেমস স্নেল

@ জেমস্নেল তিনি বলেননি যে ডিবাগিং খারাপ বা অপ্রীতিকর, নিছক এটি শক্ত এবং ডিবাগিং জটিল কোডটি আরও শক্ত।
cbojar

5

আমি মনে করি এটি এমন কিছু যা অভিজ্ঞতা নিয়ে চলে যাবে।

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

আপনার অনেক মুহুর্ত থাকবে যেখানে আপনি 6 মাস আগে লিখেছেন এমন কোনও কোডের দিকে তাকিয়ে আছেন এবং "এই হ্যাকটি এখানে কী চলছে?" ভেবেছিলেন, তবে কোডটি লেখার পরে যদি এটি ঘটে তবে আপনি অবশ্যই পরিষ্কার মনে করবেন কোড 'আরও।

উত্স: কখনও 5 মাত্রিক অ্যারে ব্যবহার করা হয়নি :)


3
@ 83457 - কারণ 5 ডি অ্যারে 2 ডি সমস্যাটির একটি দরিদ্র মডেল। আপনি যদি সত্যিই এটি ভাল কোড বলে মনে করেন তবে এটিকে কোডরেভিউ.সটাকেক্সচেঞ্জ.কম এ ফেলে দিন এবং দেখুন আপনি কী উত্তর পেয়েছেন।
জেমস স্নেল

2
@ 83457 - যদি এটি 'জাহান্নাম হিসাবে বিভ্রান্তিকর' হয় তবে আপনি নিজের উত্তর দিয়েছেন। এটি সম্ভবত সম্ভব যে 5-ডি অ্যারেটি বিভ্রান্তিকর নয় তবে সম্ভবত আমাদের দক্ষতার স্তরটি বিবেচনা করে আমাদের বেশিরভাগের পক্ষে নয়।
dbasnett

2
@ 83457 নরক হিসাবে বিভ্রান্ত হওয়া ইতিমধ্যে এটি ব্যবহার না করার জন্য খুব ভাল অনুপ্রেরণা হওয়া উচিত।
ফ্যাবিও মার্কোলিনি

3
যতক্ষণ না আপনার প্রতিটি মাত্রার জন্য ভাল কারণ থাকে আমি 5D অ্যারে এড়াতে কারণ দেখি না। একটি জটিল সমাধান বা বেশ কয়েকটি নিম্ন মাত্রিক অ্যারেযুক্ত অভিধানের মতো আরও ভাল সমাধান হতে পারে তবে আমি খুব ভালভাবেই কল্পনা করতে পারি যে দাবা এআইয়ের মতো জটিল সমস্যাগুলির জন্য একটি 5 ডি অ্যারে উপযুক্ত বলে মনে হচ্ছে।
কোডসইনচাউস

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

5

"সাধারণ" খুব সাবজেক্টিভ, তাই আমি বলি: এটি খুব সাধারণ, তবে এড়ানো উচিত।

"ভাল কোড" এর একটি বৈশিষ্ট্য (আমি শুনেছি যে এ জাতীয় জিনিস বিদ্যমান) এটি স্পষ্টতা: এটি অন্তর্নিহিত সমস্যাগুলি যেমন হতে দেয় ঠিক তত পরিষ্কার হওয়া উচিত। সমস্যাটি যদি জটিল হয় তবে কোডটিও জটিল হবে, তবে এটি সহজাত জটিলতা, দুর্ঘটনাজনিত জটিলতার বিপরীতে (আমি প্রথমে রিচ হিকির আলাপে এই পার্থক্যটি শুনেছি ) ভুল-বা সঠিক সরঞ্জাম ব্যবহার না করে, নিদর্শন, কৌশল এবং ব্যবহার করে introduced চর্চা।

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

সম্পর্কিত:

  • যখন বোঝার অর্থ পুনরায় লেখা - কোড বোঝার সমস্যা সম্পর্কে নিবন্ধ।
  • কার্যকর এমএল - "পাঠক" (যেমন রক্ষণাবেক্ষণকারীদের) জন্য কোডটি কীভাবে লিখবেন এমএল / ওসিএএমএল এর মধ্যে একটি দীর্ঘ আলোচনা: "লেখকদের চেয়ে পাঠকদের পছন্দ করুন।" আমি দেখার পরামর্শ দিচ্ছি যে আপনি কোন ভাষা ব্যবহার করবেন না।

2

আমি মনে করি না এটি স্বাভাবিক, তবে খুব জটিল প্রোগ্রামগুলির জন্য, আপনি যে দাবা প্রোগ্রামের কথা উল্লেখ করেছেন, আমি অবশ্যই এটি সম্ভব বলে মনে করি।

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

আমি তখন প্রতিটি মাইক্রোপ্রসেসরের জন্য ব্যাকএন্ড কোড জেনারেটর লিখেছি এবং পরীক্ষিত করেছি যে তারা সকলেই সঠিক কোড উত্পন্ন করেছে, তবে সঠিক করার সময় এটি খুব অনুকূল ছিল না। সুতরাং আমি তারপর প্রতিটি কোড জেনারেটরের জন্য অপ্টিমাইজার লিখতে অগ্রসর।

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

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


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

@ রওং আপনাকে ধন্যবাদ এর বেশিরভাগই অভিজ্ঞতা - আমি 46 বছর ধরে প্রোগ্রাম লিখছি এবং শীঘ্রই যে কোনও সময় ছাড়ার কোনও ইচ্ছা নেই।
tcrosley

2

এখানে প্রচুর শালীন উত্তর রয়েছে।

আমি এই নিতে একটি দম্পতি আছে।

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

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

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

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

আমরা সফ্টওয়্যার নিয়ে যে সমস্যাগুলি মোকাবিলা করি সেগুলির বেশিরভাগ প্রকৃতির দ্বারা জটিল। সফটওয়্যার ডিজাইন জটিলতা পরিচালনার জন্য একটি অনুশীলন।


1

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

তবে আপনি যদি নিজের কোডটি রেখে দেন, অন্যান্য প্রকল্পগুলিতে মনোনিবেশ করেন এবং সপ্তাহ, মাস বা এমনকি বছর পরে এটিতে ফিরে আসেন, এটি অবাক হওয়ার মতো কিছু নয় যে আপনাকে আবার এগুলি খুঁজে বের করতে হবে।

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

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