কীভাবে দ্রুত কোডিং করবেন (ত্যাগের গুণ ছাড়াই) [বন্ধ]


144

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

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

আমি ইতিমধ্যে যে কাজগুলি করছি:

  • নূন্যতম সমাধানটি লিখুন যা কাজটি সম্পন্ন করবে
  • কয়েকটি স্বয়ংক্রিয় পরীক্ষাগুলি লিখুন (পুনরায় চাপ প্রতিরোধ করে)
  • সমস্ত ধরণের জিনিসের জন্য পুনরায় ব্যবহারযোগ্য লাইব্রেরি লিখুন (এবং ব্যবহার করুন)
  • সুপরিচিত প্রযুক্তিগুলি ব্যবহার করুন যেখানে তারা ভাল কাজ করে (যেমন: হাইবারনেট)
  • তারা যেখানে উপযুক্ত সেখানে নকশার নিদর্শনগুলি ব্যবহার করুন (উদাঃ সিঙ্গেলটন)

এগুলি সব দুর্দান্ত, তবে আমার গতি সময়ের সাথে বাড়ছে বলে মনে হয় না। আমি কি করতে যত্ন, যদি আমি আমার উত্পাদনশীলতা (এমনকি 10%) বৃদ্ধি কিছু করতে পারেন, যে 10% আমার প্রতিযোগীদের তুলনায় আরো দ্রুত কারণ। (এমনটি আমার কাছে নেই।)

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

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

আমি বিভিন্ন প্রকল্পে এবং বিভিন্ন প্রযুক্তির (ফ্ল্যাশ, এএসপি.এনইটি, জাভা, সি ++) বিভিন্ন সংস্থায় ছোট এবং মাঝারি আকারের দলে (5-50 জন) কাজ করেছি। আমার পরিচালকদের পর্যবেক্ষণ (যা তারা আমাকে সরাসরি বলেছিল) তা হচ্ছে আমি "ধীর"।

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

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

কেন? আমি কী মিস করছি? এই আমি কীভাবে আরও উন্নত হতে পারি?

আমার শেষ লক্ষ্যটি সহজ: যদি আমি আজ 40 ঘন্টার মধ্যে পণ্য এক্স তৈরি করতে পারি এবং আমি নিজেকে একরকম উন্নতি করতে পারি যাতে আমি একই পণ্যটি 20, 30 বা এমনকি আগামীকাল 38 ঘন্টা তৈরি করতে পারি, এটিই আমি জানতে চাই - আমি সেখানে কিভাবে যাবো? ক্রমাগত উন্নতি করতে আমি কোন প্রক্রিয়াটি ব্যবহার করতে পারি? আমি ভেবেছিলাম এটি কোড পুনরায় ব্যবহার সম্পর্কে ছিল, তবে এটি যথেষ্ট নয়, মনে হয়।


4
অন্যরা কি একই মানের ক্ষেত্রে আপনার চেয়ে দ্রুত কোড দেয়? যদি তা না হয় তবে আপনার রক্ষণাবেক্ষণ রেকর্ডগুলি এবং বাগ রিপোর্টগুলিতে ইঙ্গিত করুন যে গতিটি কোনও সমস্যা নয় indicate
মাইকেল কে


1
রেসটি জয়ের চেষ্টা করার জন্য, কেউ কেউ তাদের দ্রুত ঘোড়াগুলি বেছে নেবে এবং দ্রুত যেতে তাদের পরাজিত করবে। কোন প্রশ্ন?
পল

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

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

উত্তর:


158

আমি এখানে জেফ অ্যাটউডের দৃষ্টিভঙ্গি পছন্দ করি যা এখানে পাওয়া যাবে http://www.codinghorror.com/blog/2008/08/quantity-always-trumps-quality.html

মূলত নিবন্ধে তিনি ডেভিড বেলেস এবং টেড অরল্যান্ডের আর্ট অ্যান্ড ফিয়ার বইয়ের একটি প্যাসেজের উল্লেখ করেছেন। উত্তরণটি যায়:

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

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


12
এই উপমাটি কি বোঝায় না যে কুমোররা গুণমানগুলি তৈরি করার আগে ময়লা আবর্জনার গাদা তৈরি করেছিল? আপনি কি পেশাদার পরিবেশে, সমস্ত বিবেকেই এটি করতে পারেন? এবং যারা পড়াশোনা করেছেন এবং তাত্ত্বিক হয়েছেন এবং তারপরে সময়সীমার আগে কাজটি সম্পন্ন করেছেন তাদের সম্পর্কে কী?
পিডিআর

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

23
আমি কেবল পৃষ্ঠের মানটির জন্য এটি দেখতে পছন্দ করি, "অনুশীলনটি নিখুঁত করে তোলে।" এর মধ্যে খুব গভীরভাবে তাকাবেন না;)
ক্রিশ করুন

6
আমি এই উত্তরটি অপছন্দ করি কারণ এটি খুব সহজেই ভুল উপায়ে নেওয়া যেতে পারে ঠিক যেমন "থ্রোওয়ে প্রোটোটাইপস" কখনই সত্যই দূরে ফেলে দেওয়া হয় বলে মনে হয় না।
রুডল্ফ ওলাহ

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

72

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

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


1
এটি সম্ভবত সমস্যার একটি বড় অংশ। পূর্ববর্তী ক্ষেত্রে এটি দেখার পক্ষে এটি অত্যন্ত প্রাসঙ্গিক বলে মনে হয় যে আমি সবসময় আমার তুলনায় আমার সংস্থাগুলিতে আমার তুলনায় অনেক বেশি বছর ধরে কাজ করছি। হুম ...
ashes999

যদি এটি হয় তবে আমার পরামর্শটি হ'ল আমার প্রথম দুটি প্রশ্ন সরাসরি জিজ্ঞাসা করুন এবং আপনি কী প্রতিক্রিয়া পাবেন তা সেখান থেকে নিন
পিডিআর

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

এটি উত্তরের চেয়ে বেশি মন্তব্য। ব্যক্তিগতভাবে আমি সর্বদা কোডার হিসাবে দ্রুত এবং আরও দক্ষ হয়ে উঠতে চাই, অন্যেরা যা মনে করেন তা নির্বিশেষে। বিষয়টি নিয়ে অবশ্যই অনেক আলোচনা করা দরকার।
Andres Canella

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

39

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

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

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

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

* http://codekata.pragprog.com/


আপনি গুগল অন্যান্য সাইট / পদ প্রস্তাব করতে পারেন? আমি মনে করি সপ্তাহে একটি অদ্ভুত চ্যালেঞ্জ মোকাবেলায় আমার মস্তিষ্ককে বিভিন্ন মাত্রায় চলতে পারে।
ashes999

আমার সাম্প্রতিক প্রিয়টি
Rein Henrichs

1
একেবারে শুরুতে অংশটি কোনও অর্থহীন নয়। আপনাকে দ্রুত করে তোলে এমন যে কোনও কিছু আপনাকে দ্রুততর করে তোলে। যদি আপনার কমপক্ষে কিছু সময় টাইপ করতে ব্যয় হয় তবে আপনার টাইপের গতি উন্নত করা আপনাকে দ্রুততর করবে make যদি কমপক্ষে আপনার কিছুটা সময় কম্পিউটারের জন্য অপেক্ষা করতে ব্যয় করা হয় তবে দ্রুত কম্পিউটার আপনাকে আরও দ্রুততর করে তুলবে। আপনি যখন যত তাড়াতাড়ি দ্রুত এবং নিয়মিত উন্নতি করার সন্ধানে চলেছেন, তখন কিছুই উপেক্ষা করা উচিত নয়।
এখনও_ড্রিমিং_আর 27'15

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

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

25

এটি বেশ সম্ভব যে আসলে আপনাকে আরও বেশি গতির জন্য কিছু গুণকে ত্যাগ করতে বলা হচ্ছে ।

কিছু বিকাশের পরিবেশ 1-এ , পালিশযুক্ত কিছু উত্পাদন করার জন্য অতিরিক্ত সময়ের জন্য উপযুক্ত নয়, যখন "কেবল যথেষ্ট ভাল" কাজ করবে।


1 - আমি বিশেষত "অভ্যন্তরীণ সরঞ্জামদর্শন" ভাবছি, তবে সম্ভবত অন্যরাও রয়েছেন।


5
এটি আমার প্রথম কাজগুলি থেকে শেষ হয়েছিল - অন্যরা দুর্দান্ত গতির দামে উল্লেখযোগ্যভাবে নিম্ন মানের লিখছিলেন। এটাই আমার অ্যাকিলিস হিল; আমার কাছে খারাপ কোড লিখতে খুব কঠিন লাগে যা আমি জানি যে পরে আমাকে কামড় দেবে।
ashes999

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

যারা এটা অধিকার পেতে - পরিবেশের যেখানে উভয় সমানভাবে যারা এটা অধিকার পেতে মধ্যে মূল্যবান হয়, কাজ হচ্ছে দ্রুত যারা এটা সঠিক ধীর পেতে প্রহার করা হয়। এবং আমি মনে করি আমি পরবর্তী গ্রুপে আছি।
ashes999

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

1
@ অ্যাসেস৯৯৯: অনুশীলন এবং অভিজ্ঞতা এবং ধৈর্য নিয়ে আপনি পরবর্তী দল থেকে প্রাক্তন দলে চলে যাবেন। এমন কোনও জাদু বড়ি নেই যা আপনাকে রাতারাতি রূপান্তরিত করে।
হতাশ

12

মনে হচ্ছে আপনি সমস্ত ভাল কাজ করছেন - মাঝারি মেয়াদে আপনাকে আরও দ্রুত করে তুলবে, তাই আপনি প্রকৃতপক্ষে ধীর হয়ে থাকলে এটি সুস্পষ্ট নয়। শুধুমাত্র আপনি এটি জানেন। (তবে এটি খুব বাস্তব সম্ভাবনা - পিপলওয়্যার একই কাজের জন্য বিকাশকারীদের মধ্যে 10X পর্যন্ত উত্পাদনশীলতার পার্থক্য দাবি করে)।

সুতরাং আমি আপনার জন্য কিছু পরামর্শ আছে:

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

  2. যেহেতু আপনি প্রায়শই এই প্রতিক্রিয়াটি পেয়ে যাচ্ছেন, সম্ভবত আপনার পরিচালক এবং সমবয়সীদের সাথে তারা কী বলে তা দেখার জন্য কথা বলার জন্য - তাদের কাছ থেকে আরও অনেক কিছু শিখতে হবে।

  3. আপনি পার্থক্যটি চিহ্নিত করতে পারেন কিনা তা দেখার জন্য একটি "দ্রুত মানের" বিকাশকারীকে সাথে কিছু জুড়ি প্রোগ্রামিং করুন।


8

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

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

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

সংক্ষেপে:

  • অভিজ্ঞতা এমন বৈশিষ্ট্য তৈরি করে যা আত্মবিশ্বাস ও উন্নত সফ্টওয়্যারকে উত্সাহ দেয়।

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


আমি সত্যিই আশা করি এটি সঠিক উত্তর নয়; আমি ইতিমধ্যে আমার নিখরচায় কোডিংয়ে প্রচুর সময় ব্যয় করেছি এবং আমি আশা করি যে আমি এখানে আরও কিছু মিস করছি যা আমাকে একটি উল্লেখযোগ্য প্রান্ত দেবে।
ashes999

@ ashes999, ঠিক আছে! ফ্রি টাইম কোডিং সহ, আপনি কি আপনার কাজ পর্যালোচনা করেন? আমার বক্তব্যটি হল, কোডের অপ্টিমাইজেশনে কাজ করার এবং এটির হ্যাং পেতে অবশ্যই সময় থাকতে হবে। আমরা সমস্ত কোড করতে পারি, তবে আমরা কতবার নিজেকে অপ্টিমাইজেশনের জন্য সময় দিই?
বুহাকে সিন্ধি

@ টিজি আমি প্রকল্পগুলির মধ্যে এটি পর্যালোচনা করি; যেমন। যদি আমি একই ধরণের প্রকল্প # 2 তে প্রকল্প # 1 এ নির্দিষ্ট উপায়ে কিছু কোড করে থাকি তবে আমি নকশার ত্রুটিগুলি এবং রিফ্যাক্টরগুলিকে অনেকটা প্রতিবিম্বিত করতে পারি।
ashes999

@ অ্যাশস - "রিফ্যাক্টর প্রচুর" অর্থ আপনার ঠিক সেখানে সময় ডুবেছে কারণ আপনার প্রাথমিক নকশাটি অনুকূল ছিল না। আপনার বস যদি না জানেন তবে ঘন্টা কোথায় চলে গেল তা বোঝাতে আপনার সমস্যা আছে। যদি বস জানেন, আপনার অভিজ্ঞতার সহকর্মী দ্বারা প্রথমে আপনার নকশাটি কেন পর্যালোচনা করা হয়নি তা বোঝাতে আপনার সমস্যা রয়েছে।

@ ট্রা আফসোস, শখের প্রকল্পগুলিতে আমি অনেকগুলি নির্দিষ্ট করেছিলাম - আমার নির্দিষ্ট করা উচিত ছিল । কর্মক্ষেত্রে, আমি হালকাভাবে রিফ্যাক্টর করি, বা দৃশ্যমান কাজগুলি তৈরি করি যাতে আমার ম্যানেজার জানতে পারে যে আমি রিফ্যাক্টর করছি।
ashes999

8

দীর্ঘমেয়াদী মোট ব্যয় দেখার সময় আপনি যদি কম ব্যয়বহুল হন তা প্রশ্ন।

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

যদি হ্যাঁ, তবে আপনার উর্ধতনদের এই সত্যটি সম্পর্কে সচেতন করা দরকার। আপনার মূল্যায়নটি নিশ্চিত করার জন্য যদি তারা প্রয়োজনীয় ডেটা না মাপায় এবং তা না রাখেন তবে তর্ক করা কঠিন হতে পারে।

যদি না হয় তবে এই ঘটনাটি কেন আপনাকে দৃ strongly়ভাবে বিবেচনা করতে হবে :

  • আপনি কি অনভিজ্ঞ?
  • অনুরোধ করা হয়নি এমন কাজগুলিতে আপনি বেশি সময় ব্যয় করেন যা আপনি বিশ্বাস করেন যে সেখানে থাকা উচিত?
  • ফিক্সটি শেষ হলে আপনার কি নির্ধারিত সময় ব্যয় হয়?
  • আপনার কোডটি কি তার চেয়ে কম মানের পরে কি মনে হয়?
  • কোড বিকাশের জন্য আপনার কি অন্যভাবে যোগাযোগ করা উচিত কারণ আপনি এখন যেভাবে করছেন তার গতি পেতে আপনাকে অনেক বেশি সময় লাগে?
  • আপনি কি এই সাইটের মতো জিনিসগুলিতে খুব বেশি সময় ব্যয় করেছেন?

এটিকে ভাবুন এবং আপনার অনুসন্ধানগুলি আপনার অনুসন্ধানের সাথে সম্পাদনা করুন।


8

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

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

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

3) পমোডোরো কৌশলটি ব্যবহার করুন এবং যা আপনার পক্ষে কাজ করে না তা রূপান্তর / পরিবর্তন করুন। আপনি যদি এই তালিকার 2 নম্বর দিয়ে এটি একত্রিত করেন তবে আপনি একটি বিশাল উত্পাদনশীলতা বৃদ্ধি পাবেন।

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

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

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


5

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

এছাড়াও, আর্ট অফ ইউনিক্স প্রোগ্রামিং পড়ুন (বিনামূল্যে অনলাইন, মূল্য মূল্যের বই)

অবশেষে, আপনি সঠিক জায়গায় নাও থাকতে পারেন। স্কোয়ার জব ইত্যাদিতে গোল প্যাগ

শেষ পর্যন্ত এটি স্কুলের মতো: "শিক্ষক যা চায় তার আউটপুট" হয়ে যায় "ম্যানেজমেন্ট যা জিজ্ঞাসা করে এবং তার জন্য অর্থ প্রদান করে" আউটপুট।


3
পরীক্ষা আমাকে দ্রুত করে তোলে, ধীর নয় not কম পরীক্ষার মানে হল আরও বেশি চাপ বেশি দিন অব্যাহত রাখা এবং এটি সংশোধন করা শক্ত, কারণ "কিছু কিছু ভেঙে যেতে পারে" এর ভয়ে আপনি কোডে বড় বড় লাফিয়ে নিতে পারবেন না।
ashes999

আমার জন্য স্বয়ংক্রিয় পরীক্ষার কোড গন্ধ। এর অর্থ কোডটি খুব সহজ ছিল না।
ক্রিস্টোফার মহান

6
যদি আপনার কোডটি এত সহজ হয় যে এটির জন্য পরীক্ষার দরকার নেই তবে এটি আকর্ষণীয় কিছু করে না।
রেন হেনরিচস

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

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

5

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

আমরা প্রতিদিন মাত্র কয়েক লাইন কোডের সাথে কথা বলছি। বাকি সময় আপনি ডিবাগিং, পুনরায় লেখা এবং সাধারণ প্রোগ্রামার স্টাফ করতে ব্যয় করেন।

আপনি পুরানো কথাটি শুনে থাকতে পারেন - টাইপ করার সময় আপনি যদি কোনও ত্রুটি ধরেন, তবে আপনি এটি নির্মাণের সময় ধরা পড়লে আপনার 10x সময় সাশ্রয় হবে যা কিউএর সময় এটির চেয়ে 10x গুণ ভাল, যা 10x গুণ ভাল মুক্তির পরে এটি ধরা চেয়ে ..

আপনি কিভাবে এটি গতি বাড়ান? আমি টাইপিং গতির কোনও ফর্মের দিকে মনোনিবেশ করব না - ত্রুটিগুলি হ্রাস করতে এবং আপনার কোডের সাথে অন্যান্য "ভবিষ্যতের মিথস্ক্রিয়া" উন্নত করা আপনার সময়ের আরও ভাল বিনিয়োগ হওয়া উচিত।

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

জোড় প্রোগ্রামিং QA সময়কে হ্রাস করতে পারে এবং, যদি আপনি বিবেচনা করেন যে একজন প্রোগ্রামার দিনে মাত্র কয়েক লাইন তৈরি করে, যদি দু'জন একই হারে কোড করতে পারে তবে কম ত্রুটিযুক্ত থাকে তবে আপনি এগিয়ে থাকবেন।

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

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


3

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

একবার আপনি ঠিক কীভাবে আপনার সময় ব্যয় করবেন সে সম্পর্কে আরও সচেতন হয়ে উঠলে আপনি কী কী উন্নতি করতে পারেন সে সম্পর্কে একটি ভাল ধারণা পেতে পারেন এবং সেখানে আপনার প্রচেষ্টাটি ফোকাস করতে পারেন।

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

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

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

অন্য কিছু না হলে এটি আপনাকে কিছু মানদণ্ড দেয় যা আপনি বিপরীতে কাজ করতে পারেন।


3

আপনার তালিকা থেকে আপনি ভাল করছেন।

আপনার সহকর্মীরা যদি উচ্চতর সিআরপি নম্বর দিয়ে কোড তৈরি করে থাকেন তবে তারা আরও দ্রুত যাবে। ক্র্যাপ হ'ল মজাদার নামযুক্ত মেট্রিক যা সাইক্লোমেটিক জটিলতা এবং পরীক্ষার কভারেজকে সম্মিলন করে।

আপনার চেয়ে বেশি সিআরপি থাকা কোডটি লিখবেন না। ;)

আপনার জন্য আমার পরামর্শের পরিবর্তনটি হ'ল লাইব্রেরি ব্যবহার করা, এগুলি লিখবেন না যতক্ষণ না:

  1. আপনার সংস্থা লাইব্রেরি বিক্রি করে
  2. আপনি একটি লাইব্রেরিতে পুনরাবৃত্তি কোড পুনরুদ্ধার করা হয়েছে

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

আপনার ওও প্রোগ্রামিং কৌশলটি তীক্ষ্ণ করার জন্য, আপনি কি স্মলটাক / স্কেকের সাথে খেলেছেন?

এবং অবশেষে, তত্ত্ব। গ্রাফ তত্ত্ব সম্পর্কে আপনার কি কমপক্ষে প্রাথমিক বোঝাপড়া আছে? (কিছু প্রোগ্রাম গাছ, ডিএজি বা কোনও পর্যায়ে কেবল সরল গ্রাফ নিয়ে কাজ করে Net নেটওয়ার্কগুলি গ্রাফ হয়)


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

3

আমি আঙ্কেল ববকে উদ্ধৃত করতে যাচ্ছি :

দ্রুত যাওয়ার একমাত্র উপায় ভালভাবে যাওয়া go

প্রতিবার যখন আপনি গতির জন্য মানের বাণিজ্যের প্রলোভনকে ছুঁড়েন, আপনি আস্তে আস্তে। প্রত্যেকবার.

- "ভেহমেন্ট মিডিয়োক্রিটি", রবার্ট সি মার্টিন


3

আমি যতদূর জানি এটি:

  1. ভাল
  2. দ্রুত
  3. সস্তা

পরিচালক হিসাবে, আপনি যে কোনও 2 বেছে নিতে পারেন।

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


2

নিম্নলিখিত বিষয়গুলি সম্পর্কে আমি ভাবতে পারি

  • আপনার টাইপিংয়ের গতি বাড়ান।
  • সরঞ্জামাদি ব্যবহার করুন যা উত্পাদনশীলতা লাভ সরবরাহ করে। উদাহরণস্বরূপ রিশার্পার।
  • দ্রুততর মেশিন বা সরঞ্জাম। আরও র‌্যাম বা সলিড স্টেট ড্রাইভের মতো।

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


আমি এই বিষয়গুলি সম্পর্কে আমার সহকর্মীদের সাথে এক পর্যায়ে খেলার মাঠে আছি (সম্ভবত টাইপিংয়ের গতিতে আমার প্রান্ত রয়েছে); তারা এখনও দ্রুত, একরকম। অভিজ্ঞতা, হতে পারে?
ashes999

1
একটি নির্দিষ্ট ন্যূনতম "হান্ট এবং পেক" ন্যূনতম উপরে, টাইপিংয়ের গতি সীমাবদ্ধ ফ্যাক্টর নয়।

2
আপনি সরঞ্জামগুলি রাখার ক্ষেত্রে তাদের সাথে স্তরের থাকতে পারেন (যেমন, পুনঃ ভাগ করা), তবে কীভাবে আপনি এগুলি কার্যকরভাবে ব্যবহার করবেন তা জানেন? আমি অনেক লোককে পুনঃস্থাপন ইনস্টল করতে দেখেছি এবং তারপরে 80% বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করতে হয় তা শিখিনি। এই বিষয়টির জন্য, নিশ্চিত হয়ে নিন যে আপনি ভিজুয়াল স্টুডিওর সমস্ত রিফ্যাক্টরিং এবং শর্টকাট বৈশিষ্ট্যগুলি বুঝতে পেরেছেন। সারাদিন কীবোর্ডে হাত রাখার থেকে আমি আমার অফিসে অন্য কারও উপরে একটি সহজ 2-3% প্রান্ত পাই। ইঁদুরগুলি ধীরে ধীরে :)
EZ হার্ট

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

আমরা সব স্তর। আমাদের কারও
কাছেই

2

আপনি একটি স্পিড-টাইপিং কোর্স নিতে পারেন। আমি জানি না দ্রুত টাইপ করা সমস্যা কিনা তবে "ধীরে ধীরে কোডিং" ধীরে ধীরে টাইপিং গতির কারণে হতে পারে।

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

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


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

অথবা ... একটি নির্দিষ্ট ক্ষেত্রে আরও অভিজ্ঞতা এবং অনুশীলন পান যাতে আপনি কোডবেস এবং এপিআই এত ভাল জানেন যে আপনি নিজের ঘুমের মধ্যে সমাধানগুলি কোড করতে পারেন। এটি করা যেতে পারে তবে আরও সময় প্রয়োজন। অন্যান্য বিকাশকারীদের যে যতো তাড়াতাড়ি আপনি আরো জ্যেষ্ঠ এবং আরো অভিজ্ঞ হিসেবে পরিচিত হয় তারপর কি শুধুমাত্র এক জিনিস থাকে - তাহলে আপনি আবশ্যক হয়ে আরো জ্যেষ্ঠ এবং অভিজ্ঞ!


এটি টাইমলাইন নয়; অন্যান্য সহকর্মীরা দ্রুত একই কাজটি করতে পারে। এটি অভিজ্ঞতা হতে পারে। টাইপিং গতির জন্য +1; আমি প্রায় 100WPM টাইপ করতে পারি, তাই এটিও হয় না।
ashes999

@ অ্যাশেস৯৯৯: এবং যদি একই কাজ দ্রুত করতে পারে এমন লোকেরা যদি আরও অভিজ্ঞ হয়, তবে আপনি সম্ভবত প্রশ্নযুক্ত সিস্টেমগুলির সাথে আরও অভিজ্ঞতার মাধ্যমে সবচেয়ে বেশি উপকৃত হবেন। অভিজ্ঞতার জন্য সময় প্রয়োজন ...
হতাশাগ্রস্ত

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

2

ওপির "গতির জন্য ত্যাগের গুণমান" দর্শনে আমার আপত্তি আছে।

পেশাদার কোডারদের (প্রোগ্রামারদের) 3 টি বস্তু সন্তুষ্ট করতে হবে:
1) কোডটি উদ্দেশ্য হিসাবে চালানো উচিত
2) বিতরণ সময় হওয়া উচিত
3) ভাল মানের, ডকুমেন্টেশন ইত্যাদি
4) অন্যান্য ইত্যাদি etc.

আমি মনে করি, ওপিকে ধীর বলে দোষ দেওয়া হয়েছিল কারণ ওপি সময় মতো করেনি।


2

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

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

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


সুতরাং আপনি বলছেন আপনি কী নমুনা তৈরি করেছেন নিজের নমুনা? মজাদার. :)
Sum1stolemyname

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

0

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

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

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