কখন "যথাযথ" প্রোগ্রামিংয়ের বিষয়টি বিবেচনা করে না?


49

আমি আমার অতিরিক্ত সময়ে একটি অ্যান্ড্রয়েড গেম তৈরি করছি। এটি libgdx গ্রন্থাগারটি ব্যবহার করছে তাই বেশ কিছুটা ভারী উত্তোলন আমার জন্য করা হয়েছে।

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

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

for(int i = 0; i < items.length; i ++)
{
    // do something
}

আমি জানি এটি প্রতিটি পুনরাবৃত্তির উপর আইটেম দৈর্ঘ্যের মূল্যায়ন করে। যাইহোক, আমি আরও জানি আইটেমগুলি 15 থেকে 20 আইটেমের বেশি হবে না। আমি যদি প্রতিটি পুনরাবৃত্তির আইটেমস দৈর্ঘ্যের মূল্যায়ন করি তবে আমার কি যত্ন নেওয়া উচিত?

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

সুতরাং আমি আপনার কাছে আমার প্রশ্নটি অনুমান করি: এটি যখন সঠিকভাবে বিবেচনা করে না তখন কি এমন এক প্রান্তিকতা থাকে? এটা কি ঠিক বলা যায় - "যতক্ষণ কাজটি হয়ে যায়, ততক্ষণ আমার যত্ন নেই?"


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

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

2
আমি আপনার সম্পাদনাটি দেখতে পাচ্ছি, তবে যদি আপনি শুক্রবার রাতে কোনও নির্ধারিত ড্রাইভারের সাথে পার্টি করা বাদ দিয়ে মাতাল হওয়া এবং বেপরোয়া হওয়া কোনও ক্ষেত্রেই ঠিক আছে তবে আপনি সম্ভবত ভুল গাছটি ছাঁটাই করছেন bar
রবার্ট হার্ভে

17
আপনি এটি কীভাবে জানবেন যে এটি প্রতিটি পুনরাবৃত্তির আইটেম দৈর্ঘ্যের 'মূল্যায়ন' করে? সংকলকরা বেশ স্মার্ট। এমনকি যদি এটি বারবার আইটেম.লেন্থটি আনে, তবে কী? আমি 'আইটেমলেন্থ = আইটেম.লেথের মতো কোড দেখতে ঘৃণা করব; (; আমি <আইটেমস দৈর্ঘ্য; ...) 'এর জন্য যদি না কোনও পরিমাপ করা পারফরম্যান্স সমস্যা না থাকে।
কেভিন Cline

6
আপনার আইটেমস দৈর্ঘ্যের জিনিসটির "যথাযথ প্রোগ্রামিং" এর সাথে একেবারে কোনও সম্পর্ক নেই। এটি একটি মাইক্রো-অপ্টিমাইজেশান, এবং ভাল প্রোগ্রামাররা যতক্ষণ না তারা প্রোফাইল চালায় এবং সত্যিকারের পারফরম্যান্সের সমস্যাগুলি কোথায় তা না জানা পর্যন্ত তাদের জন্য সময় নষ্ট করা আরও ভাল । মাইক্রো-অপ্টিমাইজেশান এবং ভাল প্রোগ্রামিং স্টাইল প্রায়শই বিপরীত হয়, একই জিনিস নয়।
মাইকেল বর্গওয়ার্ট

উত্তর:


65

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

এটাই.

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

বড় ব্যবস্থাগুলির জন্য, এই ধরণের সংযম এবং শৃঙ্খলা অপরিহার্য, কারণ এগুলি সমস্ত কাজ করার জন্য আপনাকে অন্যের সাথে ভাল খেলতে হবে এবং আপনাকে প্রযুক্তিগত debtণ হ্রাস করতে হবে যাতে প্রকল্পটি তার নিজের ওজনের নীচে না পড়ে।

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

সুতরাং, সফ্টওয়্যার বিকাশের অনেক কিছুর সাথে এটি নির্ভর করে।


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

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

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

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

2
@ কাইকিং আপনাকে এর জন্য প্রান্তিকর বলতে পারে না, এটি প্রকল্প থেকে শুরু করে প্রতিটি প্রকল্পে সময়ের সাথে সাথে পরিবর্তনশীল। সিস্টেমটি রক্ষণাবেক্ষণযোগ্য এবং নির্ভর না করার মধ্যবর্তী চৌম্বককে প্রভাবিত করে এমন ভেরিয়েবলের সংখ্যা: এলওসি, ব্যবহারকারী বেস, বিকাশকারী বেস, প্রয়োগের ধরণ (ক্রিপ্টোগ্রাফি বনাম ক্রুড বনাম ড্রাইভার), বৈশিষ্ট্য দৃust়তা, রিন্ডন্ডেন্সির প্রয়োজনীয়তা, সফ্টওয়্যার সমালোচনা (ইমেল সার্ভার বনাম) । লাইফ সাপোর্ট ডিভাইস বনাম ক্লক উইজেট), সমর্থিত প্ল্যাটফর্ম, প্রযুক্তি স্ট্যাক, লেনদেন বা বিশ্লেষণ করা তথ্যের পরিমাণ, code
তিহাসিক

18

একটি বুদ্ধিমানের পুরানো উক্তি রয়েছে: "পুরানো জ্ঞানী লোকদের পদাঙ্ক অনুসরণ করবেন না they তারা যা চেয়েছিল তা সন্ধান করুন।" 'যথাযথ' কোডিংয়ের সমস্ত নিয়মের কারণ রয়েছে। এই নিয়মগুলি কেন বিদ্যমান তা জেনে রাখা এই নিয়মগুলি কী তা জানার চেয়ে গুরুত্বপূর্ণ।

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

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

বাস্তব যথাযথ প্রোগ্রামিং হ'ল ভাল নিয়মগুলি অনুসরণ করা যা বুদ্ধিমান উপায়ে বোঝায়।


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

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

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

হেই, না, আপনি আমাকে বলছেন বলে আমি ভাবিনি। আমি কেবল কথোপকথন করছি। আমি এই কারণটি একটি কারণ জিজ্ঞাসা করেছি এবং আমি আনন্দিত যে এই বহু লোক এটিকে ভোটদান বন্ধ না করে প্রতিক্রিয়া জানিয়েছে।
কাই কিং

10

এটি দেখার সঠিক উপায় হ'ল আয় হ্রাস: অতিরিক্ত উন্নয়ন ব্যয়ের সাথে প্রোগ্রামটি বিকাশের যুক্ত সুবিধার তুলনা করা।

প্রান্তিক সময় / প্রচেষ্টার চেয়ে প্রান্তিক সুবিধা যখন কম থাকে তখন হ্রাসকারী রিটার্ন সেট হয়।

আপনি সরানোর জন্য একটি ব্যবসা ক্ষেত্রে করতে পারি items.lengthবাইরে forলুপ? অর্থনৈতিকভাবে, সেই পরিবর্তন কি এটি ন্যায্য করার চেষ্টা করার সময় ব্যয় করতে পারে? যেহেতু ব্যবহারকারীর অভিজ্ঞতার মধ্যে কোনও পার্থক্য নেই, তাই আপনি পরিমাপ করা ব্যয়কালের জন্য কখনও কিছু পাবেন না (মনে রাখার জন্য দরকারী পাঠ্য ব্যতীত)। ব্যবহারকারীরা এই প্রোগ্রামটি তাদের চেয়ে বেশি পছন্দ করবে না এবং সেই পরিবর্তনের ফলে আরও কপি বিক্রি হবে না।

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

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

তবে কখনও কখনও কখন কিছু না করার বিষয়টি স্পষ্ট । যদি বিকাশের কিছু অংশের জন্য কেবলমাত্র উন্নয়নের ব্যয় (ব্রেক এমনকি) ব্যয় করার জন্য কোনও অর্থনৈতিক অলৌকিক ঘটনার প্রয়োজন মনে হয়, এটি সম্ভবত একটি খারাপ ধারণা।


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

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

আপনার খুব ভাল লিখিত উত্তরে যুক্ত করার জন্য দুটি দরকারী শব্দ - "জল্পনা-কল্পনা" - আপনি এটি করছেন কারণ আপনি অনুমান করছেন ভবিষ্যতে কোনও প্রত্যাবর্তন হবে।
mattnz

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

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

3

যখন আপনার কোডটি "যথাযথ" হওয়ার বিষয়ে চিন্তা করা উচিত নয়

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

কখন সঠিক কোড লিখবেন

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

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

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

2

কর্মক্ষমতা কি আপনার প্রধান উদ্বেগ? আপনি কি এটিই বাড়াতে চান?

যদি তা হয় তবে শেখার জন্য একটি মৌলিক পাঠ রয়েছে এবং যদি আপনি তা করেন তবে আপনি কয়েকজনের মধ্যে একজন হবেন।

এটি দ্রুত তৈরি করার জন্য আপনার কী করা উচিত "চিন্তা" করার চেষ্টা করবেন না - এটি অনুমান করা যায়। যদি আপনি জিজ্ঞাসা করছেন "আমার কি এই ধারক শ্রেণিটি ব্যবহার করা উচিত?", বা "আমাকে lengthকী লুপের শর্তটি দেওয়া উচিত?", আপনি একজন চিকিত্সকের মতো আছেন যিনি একজন রোগী দেখেন এবং আসলে কী চিকিৎসা দেওয়ার সিদ্ধান্ত নেওয়ার চেষ্টা করেন রোগীকে জিজ্ঞাসাবাদ বা পরীক্ষা করা।

এটা অনুমান করা। প্রত্যেকেই তা করে, কিন্তু কাজ করে না।

পরিবর্তে, প্রোগ্রামটি নিজেই আপনাকে জানায় এর সমস্যা কী। এখানে একটি বিস্তারিত উদাহরণ।

তুমি কি ভিন্নতা দেখতে পাও?


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

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

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

2

আপনার প্রশ্নটি "এতক্ষণ কাজটি শেষ হয়ে যাওয়ার পরেও, আমি চিন্তা করি না?"

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

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

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


1

উত্তরটি হ'ল এটি কখনই গুরুত্বপূর্ণ নয় এবং এটি সর্বদা গুরুত্বপূর্ণ matters

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

এটি সর্বদা গুরুত্বপূর্ণ কারণ সঠিক প্রোগ্রামিং এমন একটি সরঞ্জাম যা আপনাকে লক্ষ্য অর্জনে সহায়তা করে। জিনিসগুলি করার সঠিক উপায়টি কেবল একটি স্বীকৃতি যে এটিকে অন্যভাবে করার ফলে এটি সাশ্রয়ের চেয়ে দীর্ঘমেয়াদে আরও বেশি ব্যথা হয়।

আপনি কখন এটিকে উপেক্ষা করতে পারবেন - এই প্রশ্নের উত্তর দেয় - যখন আপনি নিশ্চিত হন যে অন্য কোনও উপায় দীর্ঘমেয়াদে সহজতর হবে (সম্ভবত কারণ দীর্ঘায়িত হবে না)।

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

শুধু নজর দিন: কখনও কখনও এই দ্রুত এবং নোংরা অ্যাপ্লিকেশনগুলি তাদের নিজস্ব আলফাত গ্রহণ করে যার অর্থ শর্ট কাটগুলি আপনাকে ...


1
"কখনই" এবং "সর্বদা" একে অপরকে বাতিল করুন। আপনার উত্তর ভাল এবং খারাপ উভয় করা।
তুলিনাস কর্ডোভা

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

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

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

1

বা এমনকি এর মতো তুচ্ছ কিছু:

for(int i = 0; i < items.length;i ++) {
     // do something 
}

আমি জানি এটি প্রতিটি পুনরাবৃত্তির উপর আইটেম দৈর্ঘ্যের মূল্যায়ন করে। যাইহোক, আমি আরও জানি আইটেমগুলি 15 থেকে 20 আইটেমের বেশি হবে না। আমি যদি প্রতিটি পুনরাবৃত্তির আইটেমস দৈর্ঘ্যের মূল্যায়ন করি তবে আমার কি যত্ন নেওয়া উচিত?

প্রকৃতপক্ষে চূড়ান্ত কোডে, আইটেমস দৈর্ঘ্যের প্রতিটি পুনরাবৃত্তিতে মূল্যায়ন করা হবে না কারণ সংকলক এটি অনুকূলিত করে। এবং এটি না থাকলেও দৈর্ঘ্য অ্যারে অবজেক্টের একটি সর্বজনীন ক্ষেত্র; এটি অ্যাক্সেস খরচ হয় না।

সুতরাং আমার কাছে আপনার কাছে আমার প্রশ্নটি হ'ল: যদি আর> বিষয়গুলি যথাযথভাবে বিবেচনা না করা হয় তবে সেখানে কি থ্রোসোল্ড থাকে? এটা কি ঠিক বলা যায় - "যতক্ষণ কাজটি হয়ে যায় ততক্ষণ আমি> পাত্তা দিই না?"

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

আপনি যদি বিশদগুলিতে মনোযোগ দিতে চান এবং একটি উচ্চমানের পণ্য পেতে চান তবে আপনার এই স্টাফটি (এবং স্পষ্টতই অন্যান্য স্টাফ সম্পর্কে) যত্ন করা উচিত।


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

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

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

1

আপনি যদি নিজের জন্য বাড়িতে প্রোগ্রামিং করেন তবে সম্ভবত আপনি কয়েকটি কোণ কাটাতে পারেন; এবং যখন আপনি পরীক্ষা নিরীক্ষা করছেন এবং জিনিসগুলি চেষ্টা করছেন তখন এটি সম্পূর্ণ ন্যায়সঙ্গত।

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

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

ভাল দিকে তাকান যদিও। আপনি এ সম্পর্কে জিজ্ঞাসা করেছেন তাই আমি যে পয়েন্টটি করছি সে সম্পর্কে আপনি ইতিমধ্যে অবগত আছেন।


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

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

1

যদি কোনও আসবাবপত্র নির্মাতারা এমন কোনও আসবাবের টুকরোটি ব্যবহার করার জন্য তৈরি করছিলেন যেখানে মানেরটির সর্বাধিক গুরুত্ব ছিল না বা যেখানে মানের দিকে নজর দেওয়া যায় না, তখনও তাদের কি তাদের কাটগুলি সোজা করার চেষ্টা করা উচিত এবং টুকরাগুলিতে যোগ দিয়ে কোনও উপযুক্ত কাজ করা উচিত?

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

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


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

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

আমাকে সার্বক্ষণিক রক্ষণাবেক্ষণের কোডটি লিখতে হবে। কিছু ক্ষেত্রে এটি হতে হবে না। যাইহোক, আমার প্রচুর অভিজ্ঞতা আছে তাই আমি কখন জানি কোথায় কোণগুলি কাটা উচিত know এই পোস্টটির মূল বক্তব্যটি হ'ল যে কোনও উদ্দেশ্যেই সঠিক এবং andালু এর প্রান্তিকতা সম্পর্কে কথোপকথন চালিয়ে যাওয়া। আমার উদাহরণটি কেবলমাত্র এতে হালকাভাবে ব্রাশ করে যেহেতু দেওয়া উদাহরণটি ছোট অ্যাপ্লিকেশনটিতে বেশিরভাগ নিরীহ। তবে আমি যদি ব্যাংক সফটওয়্যারটি লিখতাম তবে আমি কখনই এতো গাফিল হতে পারতাম না।
কাই কিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.