কোড কাটার ত্রুটি


41

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

আমি এই বিষয়ে আমার শেষ প্রশ্নের প্রতিক্রিয়া থেকে , আমি জানতে চাই যে এই পদ্ধতির ড্র ব্যাকগুলি কী কী?


অনু-উত্পাদক -১ প্রয়োগ করার জন্য +1 প্রয়োগ করুন। কোড কাটা সম্পর্কে আমার সন্দেহ রয়েছে বলে একটি বৈধ প্রশ্ন মনে হচ্ছে, তবে কেন পিন করতে পারে না।
mattnz

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

11
হুম… স্পষ্টতই, কোড কাটার একটি বড় অসুবিধা হ'ল লোকেরা কোড কোডটা কী কোডটা না বোঝে তা সমালোচনা করছে :-)
জার্গ ডব্লু মিটাগ

19
@ জার্গডব্লিউমিটাগ - এটি কারণ 'কাটা' শব্দটি একটি খারাপ উপমা কারণ এটি বাস্তব বিশ্বের পরিস্থিতিতে সামান্য ব্যবহারিক অর্থ সহ কঠোর রূপের অনুশীলনকে বোঝায়। "ব্ল্যাক বেল্ট" বা "কাতা" এর মতো মার্শাল আর্ট শব্দ প্রয়োগ করে প্রোগ্রামিং বা ব্যবসায়ের পরিস্থিতিতে আমাকে বিরক্ত করে।
jfrankcarr

উত্তর:


22

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

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

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

43

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

একদিকে যেমন, আমি মনে করি যে 'কোড কাটা' এবং 'সফটওয়্যার কারুশিল্প' এর মতো পদগুলি উপন্যাস বা দরকারী যে কোনও কিছুর বর্ণনা দেওয়ার চেয়ে আমাদের পেশাকে রোমান্টিক করার বিষয়ে বেশি।


4
সেই বাক্যটির জন্য এটি +2 করুন।
এরিক ডায়েটারিচ

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

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

@ ক্যাপ্টজনকোল্ড: আপনি কি নিজের অভিজ্ঞতা থেকে কথা বলছেন? আমি এমন কাউকের কাছ থেকে কিছু মন্তব্য শুনতে পছন্দ করব যিনি সত্যই কোডকাটার মাধ্যমে তার দক্ষতা উন্নত করার চেষ্টা করেছেন এবং ব্যর্থ হয়েছেন।
dzieciou

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

20

কোড কাটা ঠিক সময় নেয়।

পুরো সময়ের বিকাশকারী এবং পিতা হওয়ায় আমি কম্পিউটিংয়ের শখ করতে চাই না।

এবং আমি কল্পনাও করি না যে আমার বস আমাকে আমার বর্তমান প্রকল্পের সাথে সম্পর্কিত না করে অ্যাপ্লিকেশনগুলি বিকাশ করার জন্য প্রদান করবেন।


10
এমন কোন ধরণের শেখার কি সময় লাগে না? আপনি যতটা ভাগ্যবান না হন তবে প্রতিবার গ্রিনফিল্ড প্রকল্পে কাজ করার জন্য।
ডেন

38
আপনি যদি নিয়মিত ভিত্তিতে আপনার প্রোগ্রামিং দক্ষতা উন্নত করতে আপনার ফ্রি সময়ের কমপক্ষে অল্প পরিমাণ ব্যয় না করেন তবে আপনার পেশাদার ক্যারিয়ার বড় বিপদে রয়েছে।
লাডিস্লাভ Mrnka

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

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

6
@ লাডিস্লাভ মির্ণকা - আমি আপনার সাথে একমত তবুও কোড কাটা সেই সমস্যার উত্তর নয়।
mouviciel

13

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

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

সর্বাধিক গুরুত্বপূর্ণভাবে, সমস্ত কিছু একসাথে শেখা হয় যা এটি বাস্তবে ব্যবহৃত হবে। আপনি যদি লুপের জন্য সর্বাধিক সুন্দর লিখতে পারেন তবে এটি প্রোগ্রামে কীভাবে ফিট করবেন তা আপনি বুঝতে পারেন না, তবে এটি কী ভাল?

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


চিহ্নিত করা. fww, আমিও একজন বক্সার / প্রোগ্রামার :)।
পল সানওয়াল্ড

1
কোড কাটগুলি অনমনীয় পুনরাবৃত্তি সম্পর্কে নয়; তারা কোনও সমস্যা সমাধানের জন্য কাজ করার বিষয়ে আরও বেশি, তারপরে আপনি সন্তুষ্ট না হওয়া পর্যন্ত আপনার সমাধানটি উন্নত করার জন্য কাজ করছেন। কাটা ওয়ান থেকে: "এই কাটার লক্ষ্যটি হ'ল পরীক্ষামূলক মডেলিংয়ের আলগা শৈলীর অনুশীলন করা possible সমস্যাগুলি যতটা সম্ভব পরিচালনা করার জন্য বিভিন্ন উপায় অনুসন্ধান করুন each প্রত্যেকটির বিভিন্ন ট্রেড অফ বিবেচনা করুন these এই মডেলগুলি অন্বেষণের জন্য কোন কৌশলটি সবচেয়ে ভাল ব্যবহার করে? কারণ এগুলি রেকর্ডিং? আপনি কীভাবে কোনও মডেলকে যুক্তিসঙ্গত প্রমাণ করতে পারবেন? "
মাইক পার্টরিজ

4
আমি সম্মত হই যে 'কাতা' শব্দটি অসম্পূর্ণ, তবে নামের কারণে তাদের দৃষ্টিভঙ্গি ভুলবে না। এছাড়াও, তারা সমস্ত শব্দ সমস্যা নয়; কাটা টু থেকে: "আপনার পছন্দের ভাষা এবং কৌশলতে" বাইনারি অনুসন্ধানের রুটিন প্রয়োগ করুন (নীচে স্পেসিফিকেশন ব্যবহার করে) omorrow কাল, একেবারে আলাদা কৌশল ব্যবহার করে আবার এটি প্রয়োগ করুন next পরের দিন একই করুন, যতক্ষণ না আপনার পাঁচটি সম্পূর্ণ অনন্য থাকে বাইনারি চপের বাস্তবায়ন। (উদাহরণস্বরূপ, একটি সমাধান হতে পারে traditionalতিহ্যবাহী পুনরাবৃত্ত পদ্ধতির, একটি পুনরাবৃত্ত হতে পারে, কেউ চারপাশে অ্যারের টুকরোগুলি পেরিয়ে একটি কার্যকরী শৈলী ব্যবহার করতে পারে, ইত্যাদি) "
মাইক পার্টরিজ

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

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

11

আমার দৃষ্টিকোণ থেকে মূল ত্রুটি এটি হ'ল ভয়ঙ্করভাবে বিরক্তিকর হবে। এছাড়াও প্রোগ্রামাররা মনে হয় এমন সফ্টওয়্যার বিকাশ করতে পারে যা দরকারী বা শীতল কিছু করে। কোড কাটা পদ্ধতির বিপরীতে মনে হবে।


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

4
@ কনরাড রুডল্ফ আমার মনে হয়েছিল পুনরাবৃত্তি কাটাদের হৃদয়? সুতরাং আপনি একবার সমস্যার সমাধান করবেন (সম্ভবত নতুন এবং উত্তেজনাপূর্ণ) তবে আপনি একই সমস্যাটি বার বার সমাধান করতে থাকবেন । আমি সবেমাত্র কাতাসের দিকে চেয়েছিলাম যাতে আমি ভুল হতে পারি।
কেভিন ডি

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

"আপনাকে নতুন জিনিস শেখানো" কীভাবে বার বার একই কাজ করছে?

আপনার উত্তরে এটি পরিষ্কার যে আপনি প্রশ্নের মধ্যে দেওয়া লিঙ্কটি পড়েন নি।
মাইক পার্টরিজ

8

কাটা মানে যা আপনার জন্য প্রয়াস করা উচিত তার ঠিক বিপরীত

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

মার্শাল আর্টে ব্যবহৃত কাটা শব্দটি (উত্স: ১৯৫০-৫৫; <জাপানি: আকৃতি, প্যাটার্ন) এবং আপনার প্রশ্নটি টাচ টাইপিংয়ের মতো পেশী স্মৃতি রোটার মুখস্থকরণ সম্পর্কে ।

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

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

ভাষা বা প্ল্যাটফর্মের অভিব্যক্তি এবং শব্দার্থের নতুন বৈচিত্রগুলি শিখিয়ে এটি সৃজনশীল সমস্যার সমাধানের ঠিক বিপরীত।

আপনি যদি System.out.println()যতটা সম্ভব অনায়াসে টাইপ করতে সক্ষম হতে চান , তবে এটি অনুশীলন করে কাটা হবে।

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

এটি ইতিমধ্যে ছোট বর্ধিত উন্নতি এবং পরিপূর্ণতার প্রশ্নবিদ্ধ বেনিফিটগুলির জন্য প্রচেষ্টা চালিয়ে যাওয়ার পরে একই জিনিসটিকে বারবার বাস্তবায়নের জন্য একটি স্বীকৃত শিল্পের শব্দ রয়েছে, একে সোনার ধাতুপট্টাবৃত বলা হয় !

একই ভাষা / রানটাইম / প্ল্যাটফর্মের ক্ষেত্রে প্রয়োগ করা হলে তাদের যে শর্তাদি ব্যবহার করা উচিত সেগুলি রিফ্যাক্টরিং oring এবং কোনও কার্যক্রমে কোনও ভিন্ন ভাষা / রানটাইম / প্ল্যাটফর্মে স্থানান্তরিত করার সময় পোর্টিংকাটা সম্ভবত ভুলভাবে বেছে নেওয়া হয়েছে কারণ শব্দার্থক শব্দগুলি পুরোপুরি না বুঝেই হিপস্টার, শীতল এবং রহস্যময় শোনাচ্ছে।

সামান্য পরিকল্পনা, অভিজ্ঞতা বা দিকনির্দেশনা সহ বিভিন্ন কঠিন সমস্যা সমাধান করা সর্বাধিক বিকাশকারীদের, বিশেষত জুনিয়র বিকাশকারীদের প্রতিদিন করতে হয়।

কেবলমাত্র একটি নির্দিষ্ট সমাধানের সম্মানের জন্য শুধুমাত্র একাডেমিকরা একই অনুশীলনটি বারবার করতে থাকে। একজন বিকাশকারী হিসাবে একটি সফল ক্যারিয়ার থাকার দক্ষতা পুনরাবৃত্তি নয় অভিযোজনে

কে বলে যে এমন স্মার্ট লোক নেই যাঁদের কাজের পরে পড়াশোনা করার দরকার নেই, এবং কাজের সময় তাদের 8 ঘন্টার মধ্যে আরও কিছু জানতে এবং প্রয়োজনীয় কিছু শিখতে পারেন?


আপনি যে জিনিসটি অনুশীলন করছেন সেটি যদি আবার ডিজাইন করা এবং ডিজাইনের উন্নতি করা হয় - ডিজাইন প্রক্রিয়াটির পুনরাবৃত্তি, শব্দটি প্রয়োগ করতে না পারে? আপনি কি আরও ভাল একটি সঙ্গে আসতে পারেন?
বিল কে

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

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

1
প্রকৃতপক্ষে গোল্ড প্লাটিংটি "... অতিরিক্ত বা আরও পালিশযুক্ত বৈশিষ্ট্যগুলি" বোঝায়। আপনি যা বর্ণনা করেছেন তা অকাল অপটিমাইজেশনের অনুরূপ মনে হলেও সত্যের পরে।
জোশুয়া ড্রেক

5

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

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


3

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

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


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

2
প্রশ্নে প্রদত্ত লিঙ্কটি পড়ুন; আপনি নামটি ধরে নিয়েছেন বলে মনে হচ্ছে ধারণাটি মূর্খতার পুনরাবৃত্তি নয়।
মাইক পার্টরিজ

@ 9000 আসলে আমি কোড ক্যাটাসকে ঠিক বুঝতে পারি। নতুন ভাষা শেখার ক্ষেত্রে, বা ইতিমধ্যে সমস্যার সমাধানে নতুন পদ্ধতির চেষ্টা করার সময় প্রায়শই ব্যবহৃত হয়।
জোশুয়া ড্রেক

3

আমার কাছে, প্রযুক্তির মূল অপূর্ণতা এটি দেখায় এটি আপনার সময়ের উপ-অনুকূল ব্যবহার।

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

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


আপনি কিভাবে গাইডেন্স পেয়েছেন? আমি একই ইস্যু নিয়ে লড়াই করছি।
কোডয়োগি

1

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

আমি লোকদের আঙ্কেল ববসের " দ্য ক্লিন কোডার " পড়ার পরামর্শ দিই , তিনি প্রোগ্রামিংয়ের ক্ষেত্রে পেশাদারিত্বের এই (এবং অন্যান্য) বিষয়গুলিতে গভীরতার সাথে যান।

ওহ এবং যুক্তিগুলি প্রমাণ করে যে আপনি কাটা করতে পারবেন না এবং পরিবার বাড়াতে পারবেন না তা কেবল অজুহাত। অভিজ্ঞতা থেকে কথা বলা: বাচ্চারা কিছু সময় ঘুমাতে যায় ...


3
কোডিং! = 100 মিটার ড্যাশ চলমান, যদি না 100 মিটার একদিন ভারী কাঠযুক্ত খনি ক্ষেতের মধ্য দিয়ে না হয় এবং পরদিন জমির খনিতে ভাত ধান ভরা হয় এবং পরদিন ভারী স্নাইপারের আগুনের সময় বিষাক্ত সাঁকরে ভরা একটি জলাভূমিটি দেখুন, প্যাটার্নটি দেখুন ... কতা শব্দার্থগতভাবে ভুল শব্দ ।

2
-1 প্রশিক্ষণ চাকরিতে, এমনকি নির্ধারিত সময়েও ঘটতে পারে (লোকেরা কেন এটি ভুলে গেছে বলে মনে হয় না)। সবকিছুই খাঁটি কাজ বা খাঁটি শেখার নয়।
joshin4colours

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

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

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

1

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

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

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


-1

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

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

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

গীত। আমি নিজেকে বিস্ময়করভাবে শৈল্পিক বা কোনও কিছু বলছি না - আমি বিমূর্ত সমস্যার উপর কাটা করি না তবে আমি মানটি সনাক্ত করি এবং আমি আমার প্রযোজনা কোডটি কিছুটা রিফ্যাক্ট করার চেষ্টা করি।


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

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

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

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

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