সৃজনশীল কোডিং সম্পর্কে এত খারাপ কী? [বন্ধ]


42

আমি আজ রাতে বব রসকে কিছু "শুভ বৃক্ষ" আঁকতে দেখছিলাম এবং আমি আমার কোড সম্পর্কে ইদানীং আমাকে কী চাপ দিচ্ছে তা আমি বুঝতে পেরেছি।

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

"সৃজনশীল কোডিং" বলতে আমি কী বোঝাতে চাই তা আমাকে ব্যাখ্যা করুন:

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

এই প্রক্রিয়া চলাকালীন, আমি সবসময় পরিষ্কার করছি। আমি অব্যবহৃত কোড অপসারণ করেছি এবং এমন কিছু মন্তব্য করব যা স্পষ্ট নয়। আমি নিয়মিত পরীক্ষা করি।

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

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

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

ইস্যুতে আপনার মতামত যাই হোক না কেন আমি আন্তরিকভাবে আপনার ইনপুটটির প্রশংসা করি।

সম্পাদনা: আপনার উত্তরের জন্য আপনাকে ধন্যবাদ। আমি তাদের প্রত্যেকের কাছ থেকে কিছু শিখেছি। আপনি সব সবচেয়ে সহায়ক হয়েছে।


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

39
পুনর্লিখনের মাসগুলি আপনার পরিকল্পনার দিনগুলি বাঁচাবে!
জোনাস

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

4
চৌকস ইশতেহার থেকে: "ওয়ার্কিং সফটওয়্যার অগ্রগতির প্রাথমিক পরিমাপ" "
গ্যারি রোয়ে

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

উত্তর:


29

কোড-টেস্ট-রিফ্যাক্টর-পুনরাবৃত্তিতে কোনও ভুল নেই, কেবলমাত্র আপনি প্রোটোটাইপ করছেন এমন লোকদের বলুন।

অন্যদিকে, বৃহত্তর প্রকল্পগুলির জন্য আপনি দেখতে পাবেন যে ডিজাইন আপ-ফ্রন্টের জন্য দেওয়া কিছু চিন্তা আপনাকে ওহ-ক্রাপ-এখন-কী লুপে অনেক সময় সাশ্রয় করবে!

পিএস: ডায়াগ্রামিং কৌশলগুলি আপনাকে ভিজ্যুয়াল চিন্তার দক্ষতা শিখতে সহায়তা করে, যা আপনি কখনও কখনও আপনার চিত্রগুলি না দেখলেও মূল্যবান।


4
"কোড-টেস্ট-রিফ্যাক্টর-রিপিট" (বা এর কিছু অনুক্রম) আমরা কোড কীভাবে লিখি। হতে পারে সুপারম্যান "কোড-সম্পন্ন", তবে প্রাণীদের পুনরাবৃত্তি হওয়া দরকার।
মার্টিন উইকম্যান 13

5
@ মার্টিন: সেই লুপটিতে কিছু আপ-ফ্রন্ট চিন্তাভাবনা প্রায়শই সুবিধাজনক ;-)
স্টিভেন এ। লো

4
যতক্ষণ আপনি জানেন কত "কিছু"!
ফ্রাঙ্ক শিয়েরার

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

7
@ ব্র্যাড, মনে রাখবেন যে মাঝে মাঝে প্রোটোটাইপগুলি বিকশিত হওয়ার পরিবর্তে মারা যেতে পারে।

21

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

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

আপনার কোডটি আবার লিখতে দ্বিধা করবেন না। আমি এর জন্য এক্স ডাউনভোটস (এক্স> = 10) পাচ্ছি, তবে আমি এটিকে সাহসী করব: কোডের পুনঃব্যবহারযোগ্যতা সবচেয়ে গুরুত্বপূর্ণ জিনিস নয়

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


4
"কোডের পুনঃব্যবহারযোগ্যতা সবচেয়ে গুরুত্বপূর্ণ জিনিস নয়" এর জন্য +1। কখনও কখনও আপনার একটি সুইস আর্মি ছুরির প্রয়োজন হয়, কখনও কখনও আপনার স্ক্যাল্পেলের প্রয়োজন হয়।
মিউ খুব ছোট

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

"কোডের পুনঃব্যবহারযোগ্যতা সর্বাধিক গুরুত্বপূর্ণ জিনিস নয়" এবং একটি একক ডাউনওয়েট (এখন অবধি) এর জন্য আবারও +1 করুন
গ্যারি রোয়ে

আমি মনে করি "পুনঃব্যবস্থা" উপর চূড়ান্ত ফোকাসটি নিজেকে পুনরাবৃত্তি না করা এবং সদৃশতা দূরীকরণের একটি ইন্দোনোয়েট সংস্করণ ছিল।
রব কে

: "ব্যবহার করুন পুনরায় ব্যবহার করার আগে" এমনকি এটি একটি চমৎকার সামান্য বই মধ্যে তৈরি 97things.oreilly.com/wiki/index.php/...
Lovis

14

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

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


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

1
@ গ্রেগ - তবুও আপনার পক্ষে একটি ভাল, পরিষ্কার এবং যৌক্তিক কারণ আমার কাছে সম্পূর্ণ অযৌক্তিক হতে পারে।
জেসন বেকার

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

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

6

মনে হয় আপনি:

  1. সর্বোত্তম পদ্ধতির সন্ধানের জন্য স্টাফ চেষ্টা করে (পরীক্ষামূলক, বর্ধিত নকশা)
  2. এটিকে ক্লিনার করার জন্য পুনরায় লেখার কোড (রিফ্যাক্টরিং)
  3. ক্রমাগত পরীক্ষা লেখার (পরীক্ষা চালিত বিকাশ)

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

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

এছাড়াও, আমি জানি না আপনি "পেশাদার বিকাশকারী সম্প্রদায়" কী সম্পর্কে কথা বলছেন, তবে আপনি যদি থাকতেন তবে আমি তাদের বলতাম তাদের আইভরি টাওয়ারগুলিতে ফিরে যেতে যাতে আপনি নিজের কাজটি চালিয়ে যেতে পারেন!


আমি এতে সম্পূর্ণরূপে আপনার সাথে রয়েছি, যা আমার নিজের উত্তরকে প্রতিধ্বনিত করে।
এরিক হে লেবিগোট

4

ব্র্যাড, আপনি একা নন আমি খুব ভাল প্রোগ্রামার জানি যারা আপনার বর্ণনা অনুসারে ঠিক একইভাবে কাজ করে। :)

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

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

আমি মনে করি আপনি পুরোপুরি ভাল করছেন, এবং আপনি যে প্রোগ্রামিং স্টাইলটি বর্ণনা করেছেন তা পুরোপুরি বৈধ।


4

আমার মনে হয় অ্যালান জে পের্লিসের একটি উক্তি সহ, যেগুলি সাধারণত "এসআইসিপি" নামে পরিচিত, এমআইটি গ্রন্থ "কম্পিউটার প্রোগ্রামগুলির কাঠামো এবং ব্যাখ্যা" এর পূর্বানুমত থেকে উপরের উত্তরগুলি সমাপ্ত করা উপযুক্ত:

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


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

3

ভাল চালাক এবং খারাপ চালাক আছে।

ভাল চালাক - অ চতুর বিকল্পের কোডের বনাম লাইনগুলির চৌকস রেখার মধ্যে উচ্চ অনুপাত। 20 লাইনের কোড যা আপনাকে 20000 লেখার হাত থেকে বাঁচায় তা হ'ল চরম চালাক। গুড চালাক নিজের কাজ বাঁচানোর বিষয়ে।

খারাপ চালাক - লিখিত লিখিত বনাম কোডের রেখার মধ্যে স্বল্প অনুপাত সংরক্ষিত। চতুর কোডের একটি লাইন যা আপনাকে পাঁচ লাইনের কোড লেখার হাত থেকে বাঁচায় তা হল ব্যাড চালাক। খারাপ চালাক "সিনট্যাকটিক হস্তমৈথুন" সম্পর্কে।

কেবলমাত্র লক্ষণীয়: খারাপ চালাককে কখনই "ব্যাড ক্লাইভার" বলা হয় না; এটি প্রায়শই "সুন্দর", "মার্জিত", "সংক্ষিপ্ত" বা "সংশ্লেষ" নামে পরিচিত হয়।


1
"সুন্দর", "মার্জিত", "সংক্ষিপ্ত" বা "সংযুক্ত" ct ..... আমার মনে হয় আমি এটি একবারে রেলস এর হোম পৃষ্ঠায় দেখেছি। :-D
ব্র্যাড

1
হতে পারে এটি কেবল আমার, তবে আমি মনে করি এলওসি-তে 80% হ্রাস কিছু চালাকতার জন্য মূল্যবান।
8:38

আমি স্টাফকে "সিনট্যাকটিক হস্তমৈথুন" হিসাবে লেবেল করার মতো অনেকগুলি খুঁজে পেয়েছি, যখন বাস্তবে তারা যে ভাষাটি ব্যবহার করছে তা শিখতে তাদের পক্ষে খুব অলস হওয়ার বিষয় ...
Svish

3

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

আমি প্রায় ৮ মাস ধরে যে কাজটি করছি তা হ'ল একক প্রকল্পের বিকাশকারীদের একটি দলে কাজ করার ক্ষেত্রে এটি আমার প্রথম অভিজ্ঞতা। এখনও অবধি, আক্ষরিক অর্থে আমার পুরো ক্যারিয়ারটি একাকী-নেকড়ে কোডার হিসাবে ছিল যারা টিম ওয়ার্কের সাথে যা কিছু আসে তা মোকাবেলা করতে হয়নি। এমনকি আমি যখন একটি দলে কাজ করেছি, এটি সর্বদা মোটামুটি কাজ করা কাজ ছিল I আমার প্রকল্পটি ছিল যে আমার ছিল, বা এটির আমার অংশটি ছিল যা মাইন ছিল etc. ইত্যাদি It সত্যিকারের সহযোগী দল কাজের পরিবেশ।

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

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


2

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

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

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


2

দুটি দৃষ্টিভঙ্গি:

  1. কারও পেইন্টিং বজায় রাখতে হয় না।

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


1
তাদের পিছনে আকাশ আঁকার আগে বব রস কখনও সুখী গাছ এঁকেছিলেন না।
রব কে

1

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

তবে আমি এটি সম্পর্কে কৌতূহলী:

এখানকার লোকদের সম্প্রদায় এবং স্ট্যাক ওভারফ্লোতে যে কোনও অসম্পূর্ণতা প্রত্যাখ্যান করা হবে বলে মনে হচ্ছে। [..] আমার প্রক্রিয়াটি পেশাদার বিকাশকারী সম্প্রদায়ে গ্রহণযোগ্য কিসের শস্যের বিরুদ্ধে চলেছে বলে মনে হচ্ছে এবং কেন তা আমি বুঝতে চাই।

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

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


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

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

1

আমি আপনার পদ্ধতির ব্যবহার। এটি আমার পক্ষে আরও ভাল কাজ করে, যেহেতু এটি অতিরিক্ত কাজ করার ঝুঁকি হ্রাস করে।

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

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


1

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

অবশ্যই গ্রুপগুলিতে প্রোগ্রামিং করার সময় ন্যূনতম ন্যূনতম মানগুলি অনুসরণ করা উচিত, "নৈতিক" কারণে নয়, তবে ব্যবহারিক ক্ষেত্রে, যখন তারা প্রয়োগ করে।

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

একবার আমি এডগার ডিজকস্ট্রার একটি আলোচনা শুনেছি, প্রোগ্রামিংয়ে সৃজনশীলতার কথা বলছি। তিনি উল্লেখ করেছিলেন যে কীভাবে একজন ছাত্র একটি এন + বি-বি শব্দটি এন-বিট ঘোরানোর জন্য একটি উপায় খুঁজে পেয়েছিল। এটি 3 বিটসপস দিয়ে করা হয়েছিল। প্রথমে আপনি এন বিটগুলি অদলবদল করুন, তারপরে আপনি মি বিটগুলি স্যুপ করবেন, তারপরে আপনি পুরো এন + মি বিটগুলি স্যুপ করবেন। কাজে লাগল? না। চালাক? হ্যাঁ.

নিখরচায় এমন কিছু করার চেষ্টা করা ভাল যা তাদের সঠিক মনের কেউই না পারে।


1

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

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

কোনও বড় প্রকল্প যখন আপনার মতো বিকাশ শৈলী গ্রহণ করে তখন কী ঘটতে পারে তা দেখতে আপনি কোড ইন ড্রিমিং পড়তে আগ্রহী হতে পারেন।


1
ধন্যবাদ তোমার উত্তরের জন্য. আপনার মন্তব্য আমার জন্য সহায়ক।
ব্র্যাড

1

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

  • সবচেয়ে বড় অতিরিক্ত হ'ল কিছুটা কাজ করা হলে কোন কোডটি পুনরায় ব্যবহার করা যায় তা দেখা সহজ। আমি প্রায়শই একটি কোডের টুকরো লিখি যা লেখার সময় হঠাৎ আমার পর্দার পাশে আমি যে সাধারণ স্কিমটি ঝুলিয়ে রেখেছি তার অন্য অংশের জন্য দরকারী বলে মনে হয় (কেবলমাত্র পঠনযোগ্য-আমাকে-শৈলীতে কাগজে আঁকা)।

  • একটি স্কিম থাকা আপনাকে কেবল কোডটিই নয়, পাশাপাশি স্কিমটিকেও পুনরুদ্ধার করতে দেয়। কখনও কখনও আমি এমন একটি ক্লাস লিখতে ব্যস্ত থাকি যা হঠাৎ স্কিমের অন্য কোনও অংশের জন্যও কার্যকর দেখা দেয়। ফলস্বরূপ প্রকল্পটি চালু হলে স্কিমটি সহজ হয়ে যায়

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

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

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

এবং অন্যরা যেমন বলেছিল: এটি আমার উপায়, আপনার মাইলেজটি আলাদা হতে পারে।

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