এসইকে কোড্রেট্রিট: ক্লিন কোড বনাম কমফোর্ট জোন

আজ সোমবার সকাল। আপনার কোডিং আরাম অঞ্চল থেকে সরাসরি নিজেকে লাথি মেরে পুরো দিন এক্সট্রিম লার্নিংয়ে যাওয়ার জন্য এটি কোনও সাধারণ বিকাশকারী-বান্ধব সময় নয়।

তবুও, এসইইকে তে 20 সাহসী সফটওয়্যার ইঞ্জিনিয়ার এবং # ডেভোপসগর্লস সম্প্রদায়ের 3 জন অতিথি কোডার 16 ই এপ্রিল 2018 এ সাইন আপ করেছেন They তারা কীভাবে নিজেদের মধ্যে প্রবেশ করছিলেন সে সম্পর্কে তাদের কোনও ধারণা ছিল না। বিজয়ী জন্য চতুর এবং বৃদ্ধি মানসিকতা!

টিডিডি এবং এক্সপি অনুশীলনগুলি অনুসরণ করে জোড়গুলি কোডিংয়ের কনওয়ের গেম অফ লাইফ

"অনুশীলন করুন এবং আপনার নৈপুণ্যের উন্নতি করুন।"

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

যদিও প্রতিদিন বিকাশকারীদের পরবর্তী লক্ষ্যটি পরবর্তী বিতরণযোগ্য শেষ করা হয়, তবে একটি কোড পশ্চাদপসরণে বিকাশকারীদের ফোকাস হ'ল অনুশীলন এবং শেখা - শেষ করা নয়।

আমরা পরিষ্কার এবং অভিযোজিত কোডের এই মৌলিক বিষয়গুলি নিজেদের স্মরণ করিয়ে দেওয়ার পরে, আমরা সরাসরি কোডিং সেশনে ঝাঁপিয়ে পড়েছিলাম।

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

চল শুরু করি!

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

সেশন # 1: ওয়ার্ম আপ

সমস্যার সাথে পরিচিত হওয়া, টিডিডি এবং জোড় করা।

গা গরম করা()
{
   টাইমরাইমিনিং = টাইমার (45, সময়.মিনিটস)
   যখন (timeRemaining)
   {
     যুটি বেঁধে কাজ কর()
     codeSolution ()
   }
   deleteAllCode ()
}

সেশন # 2: পিং পং পেয়ারিং

ব্যর্থ পরীক্ষা বা বাস্তবায়নে লেখার পালা নেওয়া।

pingPongPairing ()
{
   টাইমরাইমিনিং = টাইমার (45, সময়.মিনিটস)
   যখন (timeRemaining)
   {
     driver.writeFailingTest ()
     swapDriver ()
     driver.makeTestPass ()
     driver.refactor ()
   }
   deleteAllCode ()
}
পিং পং এর মধ্যে একটি টিডিডিং ing

সেশন # 3: নীরব জুটি করা

অধিবেশন চলাকালীন কোন কথা নেই (ব্যতিক্রম: ভাষা / আইডিইতে অজানা)।

mutePairing ()
{
  personA.canTalk = মিথ্যা
  personB.canTalk = মিথ্যা
  pingPongPairing ()
}

সেশন # 4: শিশুর পদক্ষেপ

কোডিংয়ের সময় - পাসিং পরীক্ষা লেখার জন্য এবং প্রতিশ্রুতিবদ্ধ করার জন্য 4 মিনিটের বাক্স।

শিশুর পদক্ষেপ()
{
  টাইমরাইমিনিং = টাইমার (45, সময়.মিনিটস)
  যখন (timeRemaining)
  {
    স্টেপটাইমার = টাইমার (4, সময়.মিনিটস)
    পরখ করে দেখুন {
      writeFailingTest ()
      makeTestPass ()
      gitCommit ()
    }
    ধরা (সময়সীমা সমাপ্ত)
    {
      gitRevert ()
    }
  }
  deleteAllCode ()
}
সময় টিকছে!

3 স্তরে Iterative লার্নিং

একটি কোডরেট এর লক্ষ্য জোড়াটিকে একটি জটিল সমস্যায় প্রকাশ করে শিখনকে সর্বাধিক করে তোলা যখন চ্যালেঞ্জিং সেশন ফর্ম্যাট হিসাবে সীমাবদ্ধতার মধ্যে ফেলে দেওয়া হয়।

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

আমরা একটি গ্রুপ হিসাবে তাদের প্রতিবিম্বিত করতে এবং ভাগ করতে সময় নিয়ে লোকদের শেখার নোঙ্গর দিয়েছি: আইট্রেটিভ লার্নিং = সেশন + রেট্রো।

দিন জুড়ে 3 টি স্তরের শেখার বিষয়টি জোড়া লাগানো, টিডিডি এবং একই সমস্যাটির পুনরাবৃত্তি ছিল:

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

আমাদের সফ্টওয়্যার ইঞ্জিনিয়াররা কী বললেন?

পিং পং পেয়ারিং: গর্ত সন্ধান করা

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

সাইলেন্ট পেয়ারিং: ভবিষ্যতের স্বের জন্য এক্সপ্রেসিভ কোড

তৃতীয় অধিবেশন থেকে যেখানে আমরা আমাদের অংশীদারদের সাথে কথা বলতে পারিনি - এটি আমাদের ভবিষ্যতের স্ব হিসাবে স্ব-প্রকাশমূলক কোডটি লেখার সাথে খুব বেশি সম্পর্কিত বা অন্য কেউ আমাদের নীরব অংশীদারের সাথে সমান হবে যাকে কোডটির অর্থ কী তা বোঝাতে হবে । (এ.কে.)

টিডিডি: এটি ভুল করছেন

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

সুবিধাপ্রাপ্ত পাঠ

আমাদের সুবিধার্থী হিসাবে শেখা ছিল।

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

পরের বার আমরা আমাদের টিমসকে সামনে আরও সমর্থন দেব। বিশেষত একটি অভ্যন্তরীণ কোডের জন্য একটি বাহ্যিক কোডের জন্য আমরা টিডিডি-প্রস্তুত পরিবেশের অর্থ কী এবং তারা কীভাবে কোডটি পরীক্ষার জন্য প্রস্তুত হতে পারে তা কীভাবে পরীক্ষা করতে পারে সে সম্পর্কে আমরা আরও স্পষ্টভাবে বলব :)

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

কর্মের সুবিধে - কোডটি বন্ধ করার এবং মুছার সময়

বৈচিত্র্য & # ডেভোপস গার্লস

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

আমাদের # ডেভোপসগার্লস সফটওয়্যার ইঞ্জিনিয়ার্স সম্পাদনা, পদ্মাবতী এবং নাটালিয়া সহ কোডরেট্রি সুবিধার্থী ভিক্টোরিয়া শিফার, মিশেল গ্লিসন

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

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

উপসংহার

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

কোডেরিটগুলিতে আগ্রহী - আরও এখানে!

www.coderetreat.org
কোডেরিটস, তাদের ইতিহাস, কীভাবে কোনওটিকে হোস্ট বা সুবিধা দেওয়া যায় এবং আপনার পরবর্তী ইভেন্টটি কোথায় পাওয়া যায় সে সম্পর্কে আরও জানুন।

পরবর্তী গ্লোবাল ডে কোড্রেট্রিট # জিডিসিআর ১ November ই নভেম্বর 2018 তারিখে নির্ধারিত হয়েছে। তারিখটি সংরক্ষণ করুন, আপনার অঞ্চলে কোনও #gdcr ইভেন্ট হবে কিনা তা পরীক্ষা করে দেখুন এবং টুইটারে @ কোড্রেট্রিট অনুসরণ করুন বা সফ্টওয়্যার ক্র্যাফটার্স স্ল্যাক দলে যোগদান করুন।

আরএইএ চেকআউট এই ব্লগ পোস্টে চালানো অন্য অভ্যন্তরীণ কোডেরিটারিট সম্পর্কে পড়তে:

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