অত্যন্ত খারাপভাবে লিখিত কোডটি ব্যবহার করার সময় আপনি কীভাবে উত্পাদনশীল থাকবেন?


63

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

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

কোডটি পড়া খুব কঠিন ছিল না । সমস্যা থাকা সত্ত্বেও - প্রতিটি প্রকল্পের একাধিক কপি-পেস্ট পদ্ধতি, বিশাল ifবাসা, সিস্টেম হাঙ্গেরিয়ান, নির্বিঘ্নিত সংযোগ সহ একটি শ্রেণি রয়েছে — এটি এখনও পাঠযোগ্য।

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

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

এটি কেবল একটি বড় অভিজাত নয়, কারণ সত্যই আমার কাছে একটি আসল প্রশ্ন রয়েছে:

উত্পাদনশীল থাকার এবং উইন্ডমিলগুলির সাথে লড়াই না করার উপায় কি?

সেখানে চিন্তা পরিবর্তে কাজের উপর ফোকাস থাকার মানসিক কৌতুক সময় মনে হচ্ছে "কিভাবে মূঢ় যে ?" প্রতিটি সময় আমি আগের প্রোগ্রামার দ্বারা অন্য চালাক কৌতুক দেখতে? লগিং যুক্ত করার সাথে সমস্যাটি হ'ল কোডটি কী করে তা আসলে আমার বুঝতে হবে এবং এটি করা আমার মস্তিষ্ককে একটি অপ্রীতিকর ফ্যাশনে আঘাত করে।


হাঙ্গেরিয়ান স্বরলিপিটি খারাপ নয়, তিনি কী সম্পর্কে কথা বলছেন তা জানতে মূল কাগজটি পড়ুন :)
Woot4Moo

14
আমি জানি হাঙ্গেরিয়ান খারাপ নয়। এই অবিকল কেন আমি লিখেছেন সিস্টেম হাঙ্গেরীয়, না অ্যাপস হাঙ্গেরীয় (মূল এক)। আমি সি # তে সিস্টেমস হাঙ্গেরিয়ান ব্যবহারে কোনও বোধগম্যতা দেখছি না কারণ এতে দুর্দান্ত টাইপ সিস্টেম এবং আইডিই রয়েছে। 10 টি ভেরিয়েবল একই স্কোপটিতে থাকা যা সমস্ত দিয়ে শুরু হয় objতা ভীতিজনক কারণ এটি মূলত অপঠনযোগ্য।
ড্যান

2
আমি যদি এই প্রশ্নটি একাধিক ভোট দিতে পারতাম!
o6tech


9
আমি স্ট্যাকের উপর ভয়াবহ প্রশ্ন জিজ্ঞাসা করে বাষ্পটি উড়িয়ে দিই যা আমাকে নীচে নামিয়ে আনে।
এরিক রিপেন

উত্তর:


32

আমি আপনাকে বলার জন্য দুঃখিত, তবে সমস্ত কাজ রোদ এবং গ্ল্যামার দিয়ে পূর্ণ নয়। বেশিরভাগ বিকাশের কাজগুলিতে ড্রডের কাজ জড়িত। দুঃখের হলেও সত্য.

পেইন্ট শুকনো দেখার পয়েন্টে বিরক্ত হলেও আপনার একটি গুরুত্বপূর্ণ কাজ দেওয়া হবে ked এটি দুটি কারণে গুরুত্বপূর্ণ: ১. এটি একটি বৃহত সিস্টেমে প্রচুর প্রয়োজনীয় লগিং যুক্ত করে যাতে কোনও কিছু ভুল হয়ে গেলে এটি খুঁজে পেতে সহায়তা করার জন্য আপনার কাছে একটি সরঞ্জাম থাকে। এবং ২. এটি আপনাকে কোড বেসের সাথে পরিচিত করে তোলে যাতে যদি এবং কোনও কিছু ভুল হয়ে যায় তবে আপনি লাফিয়ে এটিকে ঠিক করতে পারেন।

আপনি এখানে মূলত নিজের সুরক্ষা জাল তৈরি করছেন। গ্ল্যামারস, না, তবে গুরুত্বপূর্ণ হ্যাঁ!

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

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

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


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

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

3
-1 কেন আপনার কাজের জীবন এবং ব্যক্তিগত জীবনের লিঙ্ক? এটি I didn't finish my under-estimated task by Friday - so I need to stay at home and feel bad.
অবিচ্ছিন্নভাবে

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

1
@IntegrityFirst ~ আমার জন্য, হ্যাঁ আমি আমার টুডো তালিকাটি শেষ করতে দেরি করব। আমি এটি নিশ্চিত করেছি তা নিশ্চিত করার জন্য আমি আমার সময় বাজেট করব। যখন আমি বলি আমি এটি সম্পন্ন করব তখন কোনও কিছু সম্পূর্ণ করা আমার নিজের এবং সহকর্মীদের প্রতি আমার আন্তরিকতা। তবে, আমি যদি বলেছিলাম যে সময়ে কিছু করা সম্ভব না হয়, আমি পরিকল্পনাটি পরিবর্তন করি এবং আমার সুপারভাইজারকে জানাতে পারি। এবং আমি যদি কিছুটা দেরি করে শেষ করি তবে সিনেমা / রেস্তোঁরাটি পরের সপ্তাহে থাকবে। :)
টায়না

30

Todailywtf.com এ জমা দেওয়ার জন্য প্রার্থীর কোড স্নিপেটের একটি ফাইল রাখুন। এমনকি যদি আপনি সেগুলি জমা দেওয়ার সত্যিই ইচ্ছা করেন না, এটি আপনাকে এমন কিছু কোড সন্ধানের একটি উজ্জ্বল দিক দেয় যা গড়ের চেয়েও খারাপ।


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

24

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

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

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


আমি সোর্স মনিটর
উমনিওব

13

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

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


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

2
শুভ পয়েন্ট @ বিলি ওনিল, তবে টেস্টেবল কোড এবং সম্পর্কিত মেট্রিক থাকা অগ্রগতি প্রদর্শন করতে পারে যা অনুপ্রেরণামূলক হতে পারে।
স্টুপারউজার

1
আমি এই বইটি পড়েছি। অবশ্যই পড়া মূল্যবান। আমি ডাব্লুডাব্লিউএলসিকে কেবল অনুপ্রেরণা খুঁজে পেয়েছি কারণ সেখানে জানতে পেরে খুব ভাল লাগছিল যে আমার মধ্যে যে হতাশার হুবহু হতাশাগুলি রয়েছে তা বুঝতে পেরেছিলেন এবং এই হতাশাগুলি প্রশমিত করার কার্যকর উপায় তৈরি করেছিলেন।
জেসন সোয়েট

1
সেই বইটি পুরানো এবং পুরানো out আপনি যদি এটি না পড়ে থাকেন তবে আপনি এটি কেন সুপারিশ করবেন?
BЈовић

1
@ স্টুপারউজারটি পড়ার সাথে সাথে আমি বলতে পারি এটি পুরানো, এবং নবীন ব্যবহারকারীদের জন্য কিছু দরকারী পরামর্শ সরবরাহ করতে পারে।
BЈовић

6

প্রকল্পটিকে কিছু অংশে ভাঙ্গার চেষ্টা করুন। প্রতিদিন একটি নির্দিষ্ট অংশ কীভাবে কাজ করে তা শিখুন। এগুলি একবারে বোঝার চেষ্টা করা সম্ভবত এটিই আপনাকে চাপ দিচ্ছে।

প্রকল্পটি আরও উন্নত করতে গর্বিত হন। আপনার সাথে কথা বলতে পারে এমন আরও কোডার রয়েছে? এটি আপনি খুঁজে পাওয়া সর্বশেষ যুক্তি দেখে আলোচনা / হাসতে হাসতে ওয়াটার কুলারের চারপাশে দাঁড়াতে সহায়তা করে। কাজের সময়ে আনন্দময় পরিবেশ বজায় রাখতে আমি এটি করার চেষ্টা করি।


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

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

@ গ্রেয়ারন আহ-হা! আপনি একমাত্র কোডার। সুতরাং আপনার আগে লোকটি ছিল একমাত্র কোডার। আপনি একমাত্র কোডার হলে আপনি প্রচুর সাথে পালাতে পারবেন (যেমন আপনি আপনার পূর্বসূরীর কাছ থেকে লক্ষ্য করেছেন)। আপনি যখন আপনার পরবর্তী কাজটি সন্ধান করেন তখন এটি মনে রাখবেন। ;)
দবিধাসকিন্স

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

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

6

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

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

এটি কোনও ডোমেন বিশেষজ্ঞের সাথে চিরকালীন কথোপকথন করার জন্য মূলত একটি সুবিধাজনক উপায় :)


3

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


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

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

2

এই ক্ষেত্রে আমি কোডের একটি বিভাগ পুনরায় লেখার ঝোঁক রাখি। একটি অঞ্চল কম স্তন্যপান করতে এবং তারপরে আমি অন্য কোথাও লগিং যুক্ত করব। তারপরে আরও কিছু কোড সাফ করুন। খারাপ কোড কেবলমাত্র খারাপ যদি আপনি এটি সেখানে রেখে দেন bad


সিস্টেমটি খুব খারাপ অভ্যাসের উপর নির্ভর করে তাই কোনও পদ্ধতিটি সঠিকভাবে পুনরায় লেখার জন্য আমাকে পুরো প্রকল্পটি পুনরায় লিখতে হবে (যা আমি সম্ভবত শেষ পর্যন্ত করব তবে আমার বর্তমান প্রকাশের জন্য কিছু সময়সীমা রয়েছে)।
ড্যান

ইয়া আমি বুঝতে বিশ্বাস করি। আমি আমার জীবনকে বেদনাদায়ক করে তোলে এবং এটি পরিষ্কার করে এবং তারপরে পরের অঞ্চলটি দিয়ে আমি পরিষ্কার করতে পারি section ফিক্সিং কোড এমন একটি প্রক্রিয়া যার জন্য আপনি কখনই সময় পান না তবে সর্বদা সময় নেওয়া উচিত।
এরিন

2

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


0

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

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


0

মাইকেল পালকের "লিগ্যাসি কোডের সাথে কার্যকরভাবে কাজ করা" সহায়তা করতে পারে।

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


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