সেরা অনুশীলন অবলম্বন করতে বাধা কি কি? কীভাবে এগুলি কাটিয়ে উঠতে পারে? [বন্ধ]


22

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

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


ব্যয় ---------- সহজ সরল।
ডাস্টিপ্রোগ্রামার 21

আপনি কেন আজ বলতে পারেন যে কোডটি খারাপভাবে লেখা হয়েছে কেন এটি লেখা হয়েছিল?

@ থরবজর্ন: আমি দুঃখিত, আমি প্রশ্নটি বুঝতে পারি না?
ক্রামেই পুনরায় ইনস্টল করুন মনিকা

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

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

উত্তর:


29

পরিবর্তন সহ্য করার ক্ষমতা.

অজ্ঞতা, দুর্বল পরিচালন ইত্যাদির পিছনে এটিই প্রধান চালক

পিপলওয়্যার 2 য় সংস্করণের 30 অধ্যায়টি এই বিষয়টিতে নিবেদিত। এবং এটি আরেকটি সুপরিচিত সুপরিচিত পরামর্শদাতার একটি বইয়ের উদ্ধৃতি, যা কিছুটা আগে লেখা হয়েছিল:

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

নিক্কোলো ম্যাকিয়াভেল্লি: দ্য প্রিন্স (1513)

ডিমারকো এবং লিস্টার মন্ত্রটি স্মরণে রাখার জন্য মন্ত্রটি উল্লেখ করে যান যাতে লোকেরা পরিবর্তন করতে বলেন:

পরিবর্তনের মৌলিক প্রতিক্রিয়া যৌক্তিক নয়, তবে সংবেদনশীল।

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

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

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


রেফারেন্সের জন্য, উপরে বর্ণিত পর্যায়গুলি প্রথমে ব্যঙ্গাকারী পরিবর্তন মডেল ( ভার্জিনিয়া স্যাটারের নাম অনুসারে ) সংজ্ঞায়িত হয়েছিল ।


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

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

সত্যিই ভাল পয়েন্ট - আমি এখন পর্যন্ত এই পরিস্থিতিতে নন-প্রোগ্রামারদের সম্পর্কে ভাচ্ছিলাম না।
অ্যান্ড্রু কেএস

অনিচ্ছার প্রায়শই একটি নির্দিষ্ট অলসতার ফল হয়, যা শেষ পর্যন্ত অজ্ঞতা প্রজনন করে।
এসরোবিনস

23

পিটার তারেক সঠিক, তবে একটি গুরুত্বপূর্ণ এবং আশাবাদী বিষয় রেখে গেছেন:

  • লোকেরা এমন পরিবর্তনকে পছন্দ করতে পারে যা তারা এতে জড়িত ছিল, তবে তাদের প্রায়শই কখনই এই পরিবর্তনটি পছন্দ হয় না যে তাদের "ঠিক" ঘটে

সুতরাং তাদের জড়িত করুন, তাদের ধারণাগুলি অবদান রাখুন, তাদের এতে অংশীদারি তৈরি করতে দিন এবং এটি এত বেদনাদায়ক হবে না

দ্রষ্টব্য: এটি অনেকগুলি প্রযুক্তিগতভাবে সফল সফ্টওয়্যার প্রকল্প ব্যর্থ হওয়ার প্রোগ্রামিংয়ের সাথে প্রাসঙ্গিক কারণ ব্যবহারকারীরা সেগুলি প্রত্যাখ্যান করে


1
পরিবর্তনটি পরিচালনা করার পক্ষে একটি দুর্দান্ত উপায়
নিউটোপিয়ান

বাইকশেডিং সম্পর্কে আপনার সতর্ক হওয়া দরকার ! তাদের খুব জড়িত হতে দেবেন না!
shapr

18

আমি যেখানে কাজ করি সেখানে সময় মনে হয় অনেক বড়।

উদাহরণস্বরূপ, যখন আপনাকে আরও কোড লিখতে হবে তখন কেন ইউনিট টেস্টিং অবলম্বন করুন, এবং তাই পুনরায় প্রকাশযোগ্য পণ্য পেতে বেশি সময় লাগে? ক্লায়েন্ট এক্স এখন এটি চান! কোড দ্রুত!

(এটি স্পষ্টতই ভাল শেষ হয় না)

এটি দরিদ্র ব্যবস্থাপনা এবং অর্থনীতির ফলস্বরূপ, ডুটি ইট রাইট করার জন্য সময় ব্যয় করার পক্ষে গ্রাহকদেরকে যথেষ্ট পরিমাণে চার্জ না করে।


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

@ জোশুয়া স্মিথ: wtf !? সিরিয়াসলি? তারা ঠিকঠাক পেলে তারা কী দেয় তার জন্য আমি অবাক হব না ।
স্টিভেন ইভার্স

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

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

1
@ শাপ: এটি রকেটস এবং মিসিলগুলি তৈরি করে এমন একটি সংস্থা থেকে শুনতে ভীতিজনক বিষয়টিকে আড়াল করছে। >: পি
মিঃ জাভাস্ক্রিপ্ট

11

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

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

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

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

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


+1: উত্তরণের সর্বোত্তম উপায় হল উদাহরণস্বরূপ নেতৃত্ব দেওয়া, নিজের সেরা অনুশীলন অবলম্বন করে। "আপনি অবশ্যই বিশ্বের পরিবর্তন দেখতে চান।" ?
জনসিওয়েব

7

এটা তোলে বুদ্ধিমান না, অথবা ফল চিন্তা যে এক আদর্শ পদ্ধতি জানে। লোকেরা কোডটি খারাপভাবে লিখতে পছন্দ করছে না ; এটি আরও ভাল না জানার ঘটনা। " অজ্ঞতা " এর বিপরীতে " নাইভটি " আরও ভাল শব্দ হবে।

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


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

6

দুটি কারণ

  • অজ্ঞতা।

  • দাম্ভিকতা।

কীভাবে এগুলি কাটিয়ে উঠতে পারে?

  • ইন্সেনটিভস।

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


4
সত্য যে: বিশেষত মারাত্মক অজ্ঞ + অহংকারী কম্বো।
Sklivvz

6

আমার জন্য সেরা অনুশীলন হ'ল একটি সফ্টওয়্যার যা 8 জনের একটি দল লিখেছিল। আমাদের কোনও লিখিত প্রয়োজনীয়তা, কোড পর্যালোচনা, ইউনিট পরীক্ষা, ফর্ম্যাট রিলিজ নথি ছিল না। কোনও শেষ ব্যবহারকারীর পরীক্ষা নেই, সমস্ত বই যা বলেছিল তা আমাদের করা উচিত ছিল না। কোডটি তাড়াতাড়ি করা হয়েছিল, বগি এবং বজায় রাখা সহজ নয়। এটি এত খারাপ ছিল মুক্তির 3 বছর পরে তা ফেলে দেওয়া হয়েছিল। সুতরাং এটি সম্পর্কে কি দুর্দান্ত ছিল। প্রথম প্রকাশের দু'বছর পরে সংস্থাটির মালিক (যিনি নিজের বাড়িতে একটি বন্ধক রেখে উন্নয়নের জন্য অর্থায়ন করেছিলেন) তার পিছনের পকেটে in 30- $ 40 মিলিয়ন নিয়ে চলে গেলেন।

ব্যবসায়ের জন্য অর্থোপার্জন তৈরি করে এমন সফ্টওয়্যার তৈরি করতে আমরা এখানে (প্রায়শই বেশি নয়) সত্যটি লক্ষ্য করি loose "সেরা অনুশীলন" ব্যবহার করে আমাদের সফ্টওয়্যার বিকাশের সুযোগ দেওয়ার জন্য ব্যবসায়ের অস্তিত্ব নেই, অর্থোপার্জনের জন্য এগুলি বিদ্যমান।

বেশিরভাগ "সেরা অনুশীলন" অনুশীলনগুলি লাভের উন্নতি করে না। যা তারা করে এবং করা উচিত, তারা ব্যাপকভাবে গৃহীত হয়। এজন্যই "সেরা অনুশীলন" অনুশীলন করা হয় না।


6

গ্রহণযোগ্য ঝুঁকি

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

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

যদি আমি খারাপ কোড লিখি যা কার্যকর হয় এবং কেউ কখনও এটির দিকে নজর না দেয়, তবে কি এটি এখনও খারাপ হিসাবে বিবেচিত হয়? (দয়া করে, 'বাজে কোড' কী তা নিয়ে তর্ক করে দার্শনিক বিতর্ককে নষ্ট না করি))


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

4

আইএমই এটি অন্যদের যা বলেছে তার সমন্বয়। অজ্ঞতা ("আমি কেবলমাত্র ডেটাসেট ব্যবহার করেছি, কেন এই লিনকিউ স্টাফ নিয়ে বিরক্ত করলাম?"), সময়ের অভাব ("বস যত তাড়াতাড়ি সম্ভব এটি সম্পন্ন করতে চান, আমরা এতে প্রচুর সময় ব্যয় করতে পারি না"), অভাব বোঝার ("কোড-পিছনে আমার সমস্ত কোড লেখার ক্ষেত্রে কী সমস্যা?") সমস্ত অবদান রাখে।

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


4

প্রায়শই বিকাশকারীদের আরও ভাল অনুশীলন বা আরও গুরুত্বপূর্ণভাবে আরও ভাল অনুশীলন ব্যবহারের সুবিধাগুলি প্রদর্শিত হয় নি (আমি বিভিন্ন কারণে 'সেরা অনুশীলন' শব্দটি ব্যবহার বন্ধ করে দিচ্ছি)।

একটি তত্ত্ব আছে যে বিকাশকারীরা 'ইচ্ছাকৃতভাবে অলস'। অন্য কথায়, তারা ন্যূনতম প্রতিরোধের পথ বেছে নেবে।

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

এটা শিক্ষার বিষয় :)


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

"সর্বনিম্ন প্রতিরোধ" বেশ বর্ণনামূলক। অভিজ্ঞ প্রোগ্রামাররা কেবল অ্যাপ্লিকেশনটির পুরো জীবদ্দশায় "ন্যূনতম প্রতিরোধের" অর্থ কী তা সম্পর্কে আরও ভাল ধারণা রয়েছে ।

4

(অভাব) জ্ঞান এবং দক্ষতা + বিনিয়োগের সময়

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

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

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


2

@ জুজ এবং @ জোশুয়া স্মিথ

হ্যাঁ আমি কখনও কখনও সম্মত হই এবং সময় এবং বাজেট এমন কিছু প্রতিবন্ধকতা যা আপনাকে প্রতিটি "আরও ভাল প্রোগ্রামিং" নীতিটি কোনও প্রোগ্রামে রাখে না।

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

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


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

দুর্ভাগ্যক্রমে, উন্নততর প্রোগ্রামিং কৌশলগুলি যে প্রযুক্তিগুলিতে আপনি উন্নতি করতে পারবেন না তার চেয়ে দ্রুত হতে পারে।
বিলথোর

2

আমার বেশিরভাগ অভিজ্ঞতার দুটি অংশ:

  • সময়
  • বর্তমান পরিস্থিতির জন্য কোনটি অনুশীলন সবচেয়ে ভাল তা নিয়ে যথেষ্ট লোককে সম্মতি জানানো

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

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


2

কখনও কখনও, আপনি দেখতে পাবেন যে অভ্যাসটি ভয়াবহ কোড লেখার ক্ষেত্রেও প্রধান অবদান রাখে।

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

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

আমাদের মধ্যে যারা কেবল নেতিবাচক উপসংহারে ঝাঁপিয়ে পড়া আরও সহজ মনে করেন তাদের পক্ষে চিন্তার জন্য কিছু খাবার ... যদিও দুঃখজনকভাবে আপনি আরও বেশি বার ঠিক না হয়ে থাকবেন।


-1

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

দুঃখের বিষয়, অর্থনৈতিক হিটম্যানকে ধন্যবাদ, বেতন কেবল তখনই কাজ ঘটে happens এমনকি কাজটি দীর্ঘমেয়াদে ব্যবসায়ের ভাগ্য বাঁচাতেই হয়।

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