কীভাবে এক পদক্ষেপ নেবেন এবং তাজা চোখ দিয়ে কোডটি দেখুন? [বন্ধ]


53

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

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

আমি কীভাবে আমার মাথার বাইরে এবং আমার কোডের বাইরে পা রাখব যাতে আমি একটি নতুন চেহারা পেতে পারি এবং এটি আরও ভাল করে তুলতে পারি?


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

ঠিক আছে, করবে! :) একটি দম্পতি লোকেদের কাছে সরিয়ে না নেওয়ার জন্য পতাকাঙ্কিত করেছিল, তাই আমি পুরো প্রশ্নটি মুছে ফেলে এটিকে এখানে নিয়ে এসেছি।
বেনকোল

হা! - লোকেরা 'পতাকা' বোতামটি নয়, 'বন্ধ' বোতামটি ক্লিক করেছিল (কমপক্ষে, আমি মনে করি এটি ঘটেছে)। এখন থেকে আমি এটি নিজেই পতাকাঙ্কিত করব এবং যদিও মাইগ্রেশনের জন্য অপেক্ষা করব।
বেনকোল


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

উত্তর:


46

এর কাছে যাওয়ার উপায়:

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

যদি আপনার নির্দিষ্ট উদাহরণগুলি সম্বোধন করতে চান তবে সম্ভবত সেগুলি এখানে পোস্ট করুন।


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

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

1
কনফারেন্সে যান এখানে যুক্ত করা উচিত, আইএমও। নীচে আমার বিস্তারিত উত্তর দেখুন।
ম্যাক 18

বিভিন্ন প্রকল্পের জন্য +1। আপনি প্রতিদিন কী করেন তার সুযোগের বাইরে কিছু করার চেষ্টা করুন। আপনি কয়েকটি সমান্তরাল পাশাপাশি একটি নতুন স্থাপত্য চ্যালেঞ্জ পাবেন।
দৈর্ঘ্য

13

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


9

আপনার দক্ষতা শিখতে এবং প্রসারিত করতে থাকুন। আপনি যা জানেন না তা জানা শক্ত, তবে আপনি যখন এটি দেখবেন, তখন "আহা" মুহূর্তটি আপনাকে আঘাত করবে। এটি অন্য ভাষা বা ডিজাইনের ধরণ শিখতে পারে।

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

ব্যবহারকারীরা অভিযোগ করতে শুরু করবেন। যখন আপনি সমস্ত কিছু দুর্দান্ত মনে করেন ...


7

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

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

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

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

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


3
"বোকা" মন্তব্যটির সততার জন্য +10। :)
জেনিফার এস

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

4

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


3
আমি দেখতে পেলাম যে কোনও প্রযুক্তিগত ব্যক্তিকে এমনকি জিনিসগুলি ব্যাখ্যা করা সহায়ক is যদি আমি কোনও নন-প্রোগ্রামারটিকে ডিজাইনটি বুঝতে এবং সন্তোষজনকভাবে ব্যাখ্যা করতে পারি যে কারও জন্য কেন একটি উইন্ডো-কারখানা-কারখানা-কারখানার প্রয়োজন হতে পারে তবে সম্ভবত উইন্ডো-কারখানা-কারখানা-কারখানা ব্যবহার করা ভাল।
লাইফ কার্লসেন

4

আমি এই পরিস্থিতি খুব ভাল জানি। আমি যখন সেভাবে আটকে যাই তখন আমি প্রকল্পের বিষয়ে বিভিন্ন দৃষ্টিভঙ্গি নেওয়ার চেষ্টা করি।

1.) ব্যবহারকারী / গ্রাহক দর্শন - প্রতিক্রিয়া ব্যবহার করুন

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

২) আপনার কোডটির কার্যকরী বিশ্লেষণ করুন এবং এটি কল্পনা করুন

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

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

৩) গুণমান নিশ্চিত করার জন্য সাধারণ পন্থা ব্যবহার করুন

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

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

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

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

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

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


2

ছোট জিনিস ঘামবেন না।

প্রত্যেকেই আরও ভাল কোড করতে পারে। আমরা জিনিসগুলি দ্রুত করি এবং তারপরে কয়েক সপ্তাহ পরে বুঝতে পারি যে এটি আরও দক্ষতার সাথে করা যেতে পারে। মুল বক্তব্যটি হল আপনার কোডের 90% সম্ভবত যথেষ্ট ভাল।

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

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

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

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


1

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

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

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

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


0

"এটি যেহেতু আমার মনে হয় এর চেয়েও ছোট সমস্যা, বা অন্যরাও এটির দ্বারা সমস্যাযুক্ত?"

Sheesh। ইতিমধ্যে যথেষ্ট. কোডটি যদি উত্পাদিত হয়, বাগ-মুক্ত এবং এটি করার কথা বলে যা করা হয় তবে আর্কিটেকচারটি গুরুত্বহীন। অন্তত এখনকার জন্য.

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

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


0

অন্যান্য উত্তরের পাশাপাশি, আমি বিকাশকারী সম্মেলনে যাওয়ার পরামর্শ দেব।

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

সাধারণত, এর জন্য 3 দিন সময় নিন। আমি খুঁজে পেয়েছি যে আমার নিজের কাজের জন্য প্রয়োজনীয় মানসিক দূরত্ব পেতে এবং এটি নিজের চেয়ে বরং একটি বৃহত্তর সম্প্রদায়ের (যাতে কথা বলার জন্য) চোখের দ্বারা দেখার জন্য যথেষ্ট দীর্ঘ হতে পারে।

ঘটনাচক্রে, এটি লোকদের দলগুলিতেও প্রযোজ্য, যেহেতু গ্রুপ থিংক যে কোনও জায়গায় ঘটতে পারে।

অবশেষে, আপনি যদি এর জন্য অনুমোদন না পান তবে প্রতি বছর একবার বলুন, চাকরি পরিবর্তন করুন।


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

    আপনার প্রকল্পটির পুনর্গঠন এবং পুনরায় বাস্তবায়ন করার ফলে অবশ্যই অ্যাপটির আরও ভাল ধারাবাহিকতা, কর্মক্ষমতা ইত্যাদি হবে definitely


-1

আমি বিশ্বাস করি যে কয়েকটি স্মার্ট লোকের সাথে উদ্বেগগুলি 'লাথি মেরে' সহায়তা করে। নির্দিষ্ট তথ্য থাকা দরকার। এটি কি 24x7x365 ওয়েবসাইট? এলওবি অ্যাপ? এটি কোথায় চলছে বা হোস্ট করা হচ্ছে?

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

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