আমার প্রস্তাবিত নকশাটি আমার সহকর্মীর চেয়ে সাধারণত খারাপ হয় - আমি কীভাবে আরও ভাল হতে পারি? [বন্ধ]


69

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

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

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

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


9
@ ওবেদ: আমি মনে করি ওপি যে পয়েন্টটি করছে তা হ'ল তাদের সহকর্মীর মতো বহু বছরের অভিজ্ঞতা রয়েছে তবে সহকর্মী আরও ভাল নকশাগুলি তৈরি করে এবং ওপি আরও ভালভাবে কীভাবে উন্নত হয় তা জানতে চাইবে তারা কীভাবে সহকর্মী হিসাবে ভাল। আমার মনে হয় ...
হতাশ

34
@ ওবেদ: হ্যাঁ, তার 10 বছর না লাগিয়েই তিনি একজন মাস্টার হওয়ার আশা করবেন না, তবে অন্যদিকে, সেই 10 বছর যদি তার কাছ থেকে শেখার কোনও উত্স না থাকে তবে তিনি তাকে খুব ভাল করতে যাচ্ছেন না are । তিনি এখানে কিছু বাড়ার চেষ্টা করছেন; আসুন, তাকে নিরুৎসাহিত করি না?
ম্যাসন হুইলার 18

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

17
আমি কাছাকাছি থাকতাম। আপনি যদি সহকর্মীর কাছ থেকে শিখতে পারেন তবে তা করুন। আপনাকে অহংকে সুযোগের পথে না চলতে দিন - যদি আপনি এগিয়ে যান এবং এমন ছেলেদের সাথে কাজ শেষ করেন যা আপনাকে শেখানোর মতো কিছু না করে। আমার 25+ বছরের অভিজ্ঞতা রয়েছে, তবে আনন্দের সাথে 3 সাথে একজন প্রোগ্রামারের কাছ থেকে গঠনমূলক সমালোচনা গ্রহণ করুন (এবং আমার ভাগ্যদান করুন) I. আমি একজন লোকের সাথে কাজ করি যিনি আমার সবচেয়ে খারাপ দিনটির চেয়ে আমার চেয়ে সেরা দিনটির চেয়ে ভাল, উভয়ের ফলাফল হিসাবে এই লোকেরা আমি 2 বছর আগে ছিল চেয়ে ভাল প্রোগ্রামার।
mattnz

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

উত্তর:


69

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

আপনার কাছে দুটি দুর্দান্ত (এবং আশ্চর্যজনকভাবে অস্বাভাবিক) শক্তি চলেছে:

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

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

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

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

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

আদর্শভাবে, প্রতিটি প্রোগ্রামার প্রতিটি ক্লাস থেকে একটি ভাষা জানা উচিত। আপনি কি শিখতে পারেন:

  1. একটি স্ট্যাটিক টাইপযুক্ত ওওপি মূলধারার ভাষা: জাভা, সি # (বেশিরভাগ এন্টারপ্রাইজ সফ্টওয়্যার ব্যবহৃত হয়) এবং সি ++ (সিস্টেম প্রোগ্রামিং এবং জটিল ডেস্কটপ অ্যাপ্লিকেশন)
  2. একটি প্রোটোটাইপ-ভিত্তিক ওওপি ভাষা: জাভাস্ক্রিপ্ট (ক্লায়েন্ট সাইড ওয়েব প্রোগ্রামিং)
  3. একটি পদ্ধতিগত ভাষা: সি (এম্বেড করা সফ্টওয়্যার এবং সিস্টেম প্রোগ্রামিং)
  4. একটি কার্যকরী ভাষা: হাস্কেল, এমএল বা লিস্প (ক্রিয়ামূলক ভাষাগুলি অত্যন্ত সমান্তরাল সফ্টওয়্যারের জন্য ভাল)।

একটি লজিক প্রোগ্রামিং ল্যাঙ্গুয়েজ (প্রোলোগ) সম্ভবত এআই তে গবেষণায় ব্যবহৃত হচ্ছে, শিল্পে এটি কার্যকর নয়।

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


2
+1 যদি কেউ কেন এটি বুঝতে পারে তবে দুর্দান্ত নকশাগুলিতে যাওয়ার পথে তারা ভাল আছেন (বিশেষত যদি তাদের কেবল কয়েক বছরের অভিজ্ঞতা থাকে)।
ড্যানিয়েল বি

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

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


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


1
টপকোডারটি আমার নজরে আনার জন্য ধন্যবাদ, এটি শিক্ষার সরঞ্জাম হিসাবে ব্যবহার করার আকর্ষণীয় ধারণা।
নিউন্টাপির

আপনি, দয়া করে, একটি সংরক্ষণাগার একটি লিঙ্ক সরবরাহ করতে খুব সদয় হতে পারেন TopCoder archive of 100+ component designs,। এই জাতীয় ফাইল খুঁজে পাওয়া যায় না।
স্টেপআপ

1
@ স্টেপআপ এটি এখানে । এটি অ্যাক্সেস করতে আপনার লগইন করতে হতে পারে।
ডেসব্লিংকনলাইট

আমি যদি এএসপি.এনইটি-র সুন্দর ডিজাইন দেখতে চাই তবে আমার কোথায় দেখা উচিত? আপনার প্রদত্ত লিঙ্কটিতে আমি কেবলমাত্র "উপাদানগুলি অনুসন্ধান করুন" দেখি।
স্টেপআপ

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

11

আচ্ছা চাকরি ছেড়ে দিও না। আপনার চেয়ে ভাল দক্ষতার সাথে কারও সাথে কাজ করা ভাল, যাতে আপনি তাঁর কাছ থেকে শিখতে পারেন।

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

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


3

একটি ভাল নকশা স্বীকৃতি একটি গুরুত্বপূর্ণ ক্ষমতা। আপনি নকশাগুলি দেখার বিষয়ে পূর্ববর্তী কয়েকটি পরামর্শ অনুসরণ করার সাথে সাথে এটি উত্সাহিত করা উচিত।

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

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

আপনি নিম্নলিখিত কয়েকটি উত্স থেকে নকশার জন্য বিভিন্ন নীতি সম্পর্কে ধারণা পাবেন: http://www.cs.wustl.edu/~schmidt/PDF/design-pr صولles4.pdf উইকিপিডিয়া গুগল সফ্টওয়্যার ডিজাইন গুগল "সফ্টওয়্যার ডিজাইন নীতি"

  • সফ্টওয়্যার ডিজাইনের জন্য বিভিন্ন মডেল, যেমন অবজেক্ট ওরিয়েন্টেড ডিজাইন বা ফাংশনাল ডিজাইন বা কাঠামোগত বিশ্লেষণ ডিজাইন বুঝতে। এগুলি সম্পূর্ণ আলাদা মানসিকতা হতে পারে যা থেকে কোনও ডিজাইনের টাস্কের কাছে যেতে পারে এবং তাদের প্রত্যেকেরই এমন ক্ষেত্র রয়েছে যেখানে তারা শ্রেষ্ঠ হয়। এগুলি আপনার সরঞ্জামবাক্সের সরঞ্জাম হিসাবে শিখুন। http://userpages.umbc.edu/~khoo/survey2.html

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

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

কিছু মজা করুন - আপনি যদি এটি কমপক্ষে একটু উপভোগ না করেন তবে তা করবেন না!


2

ঠিক আছে, আপনি ইতিমধ্যে প্রথম পদক্ষেপ নিয়েছেন। আপনি স্বীকার করেছেন যে আপনার কিছু শিখার আছে, আপনার সহকর্মীর কাজ আপনার চেয়ে ভাল এবং আপনি শিখতে এবং উন্নত করতে চান want

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

এটি একবার বুঝতে পারলে এর পিছনে নীতিগুলি বের করুন। এই জাতীয় প্রশ্ন জিজ্ঞাসা করুন:

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

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


2

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

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

আমার চাকরিতে 4 জন বিকাশকারী রয়েছেন। এমন অনেক সময় আছে যেখানে দুটি প্রধান "প্রোগ্রামার" এমন জিনিস তৈরি করতে পারে যা আমাকে ধুলোয় ফেলে দেয়। আমার মাথা তাদের ক্রিয়েশনের চারপাশে মুড়িয়ে দেওয়ার চেষ্টা করে আমার মাথা ঘুরিয়ে তোলে।

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

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

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

আপনার এবং আপনার সহকর্মীদের - শক্তি এবং দুর্বলতা - উভয়গুলিতে ফোকাস করুন।


1

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

আপনাকে সবার কাছ থেকে শিখতে হবে।

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

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


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

  2. নকশা দক্ষতা বেশিরভাগ অভিজ্ঞতার সাথে আসে এবং আপনি কয়েকটি গুরুত্বপূর্ণ বই পড়ার পরে আসে। আমি আপনাকে নিম্নলিখিতগুলি সুপারিশ করব:

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

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


0

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

অন্তর্নিহিত বিটগুলির সাথে পরিচিত হওয়া অবিশ্বাস্যভাবে কার্যকর, তবে আপনি যদি ডিজাইনে আরও ভাল হতে চান তবে আপনাকে কয়েকটি প্রকল্পের নকশা করতে হবে। দক্ষতা ডুবে না যাওয়া পর্যন্ত পুনরাবৃত্তি করুন।

সংক্ষেপে, "অভিজ্ঞতার বছরগুলি" সর্বদা সমান হয় না। আপনার বছর কিছু মূল্যবান করতে যান।


0

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

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