নিরবচ্ছিন্ন, নোংরা কোডের আয়োজন?


22

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

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

এখন, আমার নিম্নলিখিত প্রশ্নগুলি রয়েছে:

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

আমার বলতে হবে তাদের সাথে আমি নতুন। আমি মনে করি প্রকল্পগুলিতে খুব দেরি করে মানুষ যুক্ত করার নিয়মগুলি আমি ভঙ্গ করেছি। তুমি কি ভাবি আমাকে ছেড়ে যেতে হবে?


এটি দুটি বা তিনটি প্রশ্নে বিভক্ত হওয়া দরকার, এই মুহূর্তে এটি অনেক বেশি বিস্তৃত।
জন হপকিন্স

2
এই প্রকল্পটি কি সংস্করণ নিয়ন্ত্রণে রয়েছে?
জেবিআরউইলকিনসন

2
বর্তমান কোডটি কি উত্পাদনে রয়েছে?
জেফো

হ্যাঁ জেফ এটি একটি উত্পাদন, আর্থিক সমস্যা পরিচালনার জন্য একটি পরিচালনা প্রকল্প!
সালিভান

দুঃখিত জেবিআর, তারা এর মতো কোনও কথা শুনেনি। হার্ড ডিস্কে কেবল একটি কপি পেস্ট কোড তৈরি করা সংস্করণ নিয়ন্ত্রণকরণের কৌশল perform
স্যালাইভান

উত্তর:


36

পদক্ষেপ 0: এসসিএম-এ ব্যাকআপ

কারণ, মন্তব্যগুলিতে জেবিআরওয়িলকিনসনের প্রতি ইঙ্গিত হিসাবে, সংস্করণ নিয়ন্ত্রণ হ'ল (অপরিবর্তনীয়) বিপর্যয়ের বিরুদ্ধে প্রতিরক্ষা আপনার প্রথম লাইন।

এছাড়াও সফ্টওয়্যার কনফিগারেশন বিশদ বিবরণ, বিতরণযোগ্য তৈরি করার পদ্ধতি ইত্যাদি ...

পদক্ষেপ 1: প্রথম পরীক্ষা

তারপরে পরীক্ষাগুলি লিখে শুরু করুন :

  • কি কাজ করে,
  • এবং যা ব্যর্থ হয় তার জন্য।

আপনি কী করবেন তা সিদ্ধান্ত নেয় না কেন, আপনি আচ্ছাদিত। আপনি এখন করতে পারেন:

  • শুরু গোড়া থেকে এবং পুনরায় লেখার ,
  • বা এটি ঠিক করুন।

আমার পরামর্শটি হবে সাধারণ আর্কিটেকচারটি স্ক্র্যাচ থেকে শুরু করা , তবে গণ্ডগোল থেকে যে অংশগুলি চেকপয়েন্টগুলিকে বৈধতা দেয় এবং এটি যথাযথ দেখায় সেগুলি রিফ্যাক্টর থেকে বের করুন

পদক্ষেপ 2: যাচাই করুন এবং মনিটর করুন

একটি অবিচ্ছিন্ন ইন্টিগ্রেশন সিস্টেম সেটআপ করুন ( ধাপ 0 এবং 1পদক্ষেপের পরিপূরক ) এবং একটি নিরন্তর পরিদর্শন সিস্টেম ( 4 ধাপের জন্য প্রস্তুত )।

পদক্ষেপ 3: দৈত্যদের কাঁধে দাঁড়াও

(যেমন আপনার সর্বদা করা উচিত ...)

পদক্ষেপ 4: পরিষ্কার

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

তারপরে আপনি একটি কোড ফর্ম্যাটারও চালাতে চাইতে পারেন, যা ইতিমধ্যে গৃহকর্ম নিয়ে কিছুটা সহায়তা করবে।

পদক্ষেপ 5: পর্যালোচনা

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

পদক্ষেপ:: ভবিষ্যত-প্রমাণ আপনার বিকাশ প্রক্রিয়া

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


কিন্তু সত্যিই, পরীক্ষাঅনেক


একটি দুর্দান্ত পরামর্শ - আপনার যদি সমস্যাগুলি ধরতে পারে এমন টেস্টগুলি করা হয় তবে আপনি কী ক্ষতি করবেন তা বিবেচ্য নয়। অবশ্যই, আমরা সবাই ধরে
নিচ্ছি

@ জেবিআর উইলকিনসন: আসলে ভাল কথা! নিখুঁতভাবে তারা ধরে নিয়েছিল।
হাইলেম

2
প্রথমে সংস্করণ নিয়ন্ত্রণ শুরু করুন; কখনও চেয়ে ভাল দেরী।
JeffO

@ জেফ ও: হ্যাঁ, আমি ইতিমধ্যে উত্তরে যা যুক্ত করেছি এটি ইতিমধ্যে।
হাইলেমে

সম্পাদনার পরে আরও পরিষ্কার করে লিখতে লিখুন। বাম বৈশিষ্ট্য :)
হাইলেম

15

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


1
বিস্তৃত বাহ্যিক রেফারেন্স ব্যবহারের জন্য এটি +1
হাইলেম

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

1
@ সালিভান - সম্ভবত তাদের কাউকেই বোঝানো হয়নি যে এই জাতীয় বইগুলি পড়া ভাল। যদি কেবল এমন কোনও ব্যক্তি ছিল যারা তাদের সাথে কাজ করেছিল যারা এই জাতীয় বই পড়তে আগ্রহী ছিল ...
জেসন বেকার

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

2
@ সালিভান আপনি তাদের জন্য বই পড়তে পারেন, এবং ড্রিপ পরামর্শ হিসাবে তাদের লিখিত সামগ্রী ফিড করতে পারেন। আপনি দলের গুরু হতে পারেন।
মার্কজে

8

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

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

রিফ্যাক্টরিংয়ের বিষয়টি (যেমন ফওলারের বই এবং কেরিভস্কির একটি http://www.industriallogic.com/xp/refactoring/ ) তেমন এটি সিস্টেমকে কাজ করে রাখে, সম্ভবত রিফ্যাক্টরিংয়ের দ্বিগুণ সময় লাগবে তবে ঝুঁকিগুলি শূন্য।

স্ক্র্যাচ থেকে পুনরায় লেখা অনেকগুলি ঝুঁকি প্রবর্তন করতে পারে, ভুল বোঝাবুঝির প্রয়োজনীয়তা থেকে শুরু করে ভুল বাস্তবায়ন পর্যন্ত (দলের বেশিরভাগ ক্ষেত্রে একই হবে)।

আমি আসলে দেখতে পেলাম একটি জটিল প্রক্রিয়া দু'বার স্ক্র্যাচ থেকে আবারও লেখা হয়েছিল এবং এখনও প্রত্যাশার মতো কাজ করছে না।


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

2
এটি বলার অপেক্ষা রাখে না ... আমি টিডিডিকে কোনও ভাল কোডের জন্য প্রয়োজনীয় মনে করি (নতুনটি ওরফে)।
উবার্তো

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

টেস্ট চালিত উন্নয়নের প্রশংসা!
সালিভান

"তবে সম্পর্কগুলি তোলার জন্য কোডটি বিশ্লেষণ করতে হলে আপনি কী করবেন?" -> যদি এটি হয় তবে এর অর্থ প্রকল্পটি খুব ছোট বা ভাঙা নয়। আকা আমি সময়ে এক টুকরো রিফ্যাক্টরিং করা শুরু করব। মিকাদো পদ্ধতিটিও দেখুন। danielbrolund.wordpress.com/2009/03/28/…
উবার্তো

2

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

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


এটি পুনরায় পুনরায় লেখার জন্য পুনরাবৃত্তি পুনরুক্তি করার জন্য কত খরচ হবে? কোন পদ্ধতির ফলাফল দ্রুত দেওয়া হবে?
জেবিআরউইলকিনসন

@ জেবিআরউইলকিনসন এটি নির্ভর করে। পুনরাবৃত্তির পদ্ধতিরটি ভাল, যখন আপনার কার্য কোড রয়েছে।
duros

1
@ ডুরোস, ভাঙা কোডের জন্য, হ্যাঁ। এই কোড উত্পাদন চলমান।

2

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

নেট ব্লক কেন নেটস্কেপ আলগা telling


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

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

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

1

এটি যদি কাজ করে তবে এটি রিফ্যাক্টর করুন। আপনাকে এটি করতে সাহায্য করার জন্য সরঞ্জামগুলি রয়েছে। যদি এটি কাজ না করে তবে ম্যাজিকাল কোড উন্নতি কমান্ড ব্যবহার করুন, যেমন deltreeউইন্ডোজ রেফারেন্সে। rm -rfলিনাক্সে


2
"সমস্ত কোড পুরোপুরি মুছে ফেলার" পরামর্শ দেওয়া বিশেষত অসহনীয় - আপনার কি আরও গঠনমূলক উত্তর আছে?
জেবিআরউইলকিনসন

হাঃ হাঃ হাঃ. আমি আপনার সাথে পুরোপুরি একমত, গোলাগুলি!
সালিভান

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

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

1
থর্জজর্ন: আমরা এমন কোডের কথা বলছি যা কার্যকর হয় না ? নিরঙ্কুশিত, নোংরা কোড যা সঠিক জিনিসটি করে না তা বিশ্লেষণ করে আমাকে তার সৃষ্টিকর্তার মানসিক অবস্থার চেয়ে অন্য কোনও কিছুর চেয়ে আরও বেশি কিছু জানায়।
ব্যবহারকারী 281377

1

আমাদের কি কোডটি মেরামত করা এবং এটি একটি ওওপিতে পরিবর্তন করা উচিত? আমরা এখন এটি ডিবাগ করছি। [... এতে ত্রুটি রয়েছে, কোনও দলিলপত্র নেই ...]

আমি সেখানে ছিলাম, আপনার সাথে আমার সহানুভূতি রয়েছে। এমনকি আমি এ সম্পর্কে একটি নিবন্ধ লিখেছিলাম যা আপনাকে কিছু দৃষ্টিকোণ পেতে সহায়তা করতে পারে। তবে সংক্ষেপে:

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

আমি কীভাবে তাদের সমস্ত নিয়ম মেনে চলতে শেখাতে পারি?

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


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

0

আমার পরামর্শটি @ ডুরসের & @ মনোজ আর এর উত্তরগুলির সংমিশ্রণ।

এবার ভালো কোড / ওওপি / মন্তব্য / ইত্যাদি তৈরির কথা মাথায় রেখে স্ক্র্যাচ থেকে শুরু করুন, আপনার পুরানো কোড থেকে রেফার / অনুলিপি এবং আটকান। আপনি যখন আপনার পুরানো কোডের খারাপ অংশগুলি পূরণ করেন, সেগুলি পুনরায় লিখুন / রিফ্যাক্টর।

যদি আপনার বিকাশকারীরা প্রশিক্ষণপ্রাপ্ত না হন তবে আমি তাদের পাঠ্যক্রমের জন্য পাঠানো ভাল বলে মনে করি। দ্রুত পরিবর্তিত আইটি শিল্পে নিয়মিত পুনরায় প্রশিক্ষণের জন্য এটি গুরুত্বপূর্ণ

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