যদি কোনও সাবলীল কোডার ভাল অভ্যাসগুলিকে উপেক্ষা করে তবে তার সাবলীলতা তার বিরুদ্ধে কাজ করে না? [বন্ধ]


16

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

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

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

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

এটি সত্য বলে ধরে নিলাম, আমি যে কারণগুলি সম্পর্কে ভাবতে পারি তা হ'ল:

  • আপনি যদি সহজেই কোডিং করে থাকেন তবে এটি অনুভূত হয় (বা আসলে খুব অল্প সময়ে) আপনার নিজের সমাধানগুলি ঘটনাস্থলে সন্ধান করার জন্য, গ্রন্থাগারগুলির দিকে না ঘুরে, অস্তিত্বমূলক কার্যকারিতা ইত্যাদির চেয়ে আরও দ্রুত feels
  • যদি কোনও জটিল প্রোগ্রামের মানসিক চিত্রটি সহজেই বজায় রাখার জন্য যথেষ্ট অভিজ্ঞ হয় তবে মডিউল, স্তর ইত্যাদিতে এটি ভাগ করার পক্ষে কম ঝোঁক হয় one

সুতরাং আমার বক্তব্যটি হ'ল যদি কোনও সাবলীল কোডার একটি খারাপ বিকাশকারী হিসাবে দেখা দেয় তবে তাদের সাবলীলতা কেবল পরবর্তীকালের জন্য ক্ষতিপূরণ দেয় না, তবে এটি পরিবর্তে আরও বেশি ক্ষতি করে।

আপনি যে কি মনে করেন? এটা কি সত্য (যদি তা কতটা পরিমাণে থাকে)?


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

15
শিরোনামের কারণে আমার জন্য এখানে কিছু বিভ্রান্তি সৃষ্টি হয়েছিল, যখন আমি 'সাবলীল' পড়িI.ThinkOf(this).KindOfThing()
বেনজল

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

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

1
অত্যন্ত সম্পর্কিত: এই এবং এই । কিছু (প্রচুর) লোক এই পর্যায়ে আটকে যায় ...
ব্লু রাজা - ড্যানি প্লেফুঘুফুট

উত্তর:


22

আপনি যদি সহজেই কোডিং করে থাকেন তবে এটি অনুভূত হয় (বা আসলে খুব অল্প সময়ে) আপনার নিজের সমাধানগুলি ঘটনাস্থলে সন্ধান করার জন্য, গ্রন্থাগারগুলির দিকে না ঘুরে, অস্তিত্বমূলক কার্যকারিতা ইত্যাদির চেয়ে আরও দ্রুত feels

হ্যাঁ. আমি ছেলে ছিলাম। এবং আমি শিখেছি যে এটি একটি ভয়ানক জিনিস।

এটি আপনার পক্ষে খুব ভাল, আপনাকে নতুন কিছু শিখতে হবে না।

তবে আপনার দলের বাকিদের কী হবে? তারা আপনার উপর খুব নির্ভরশীল হয়ে ওঠে। আপনার লেখা লিখিত অবজেক্ট-রিলেশনাল ম্যাপারে সহায়তা পেতে তারা "ক্লাইভের কুইকি ওআরএম" এর জন্য গুগল করতে পারে না।

এবং তারপরে সেদিন আসে যখন তাদের নতুন কাউকে ভাড়া দেওয়ার দরকার পড়ে এবং তারা ক্লাইভের কুইকি ওআরএম-এর অভিজ্ঞতা সম্পন্ন লোকদের সন্ধান করতে পারে না।

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

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


1
আমিও সেই লোকটি হয়েছি - এবং আমি দ্বিতীয় বাক্যটির সাথে একমত নই। বেশিরভাগ সমস্যার সমাধান করতে সক্ষম হওয়ার অর্থ এই নয় যে আপনার সমাধানগুলি দৃust়, রক্ষণাবেক্ষণযোগ্য, নমনীয়, স্কেলেবল ... বা এমনকি প্রাথমিক বাস্তবায়নটি দ্রুত তৈরি হয়েছে। আপনি ভাষা / গ্রন্থাগারের রেফারেন্স ম্যানুয়ালগুলির বাইরে শিখতে পারেন এমন অনেকগুলি সেরা ধারণা যা "আমি কেন এটি ভাবিনি?" সহজ, এবং এছাড়াও নমনীয়, আকার পরিবর্তনযোগ্য, ইত্যাদি খারাপ জিনিস এক - নিরূপক যে আমি ছিল একটি ধারণা আগে সংস্পর্শে এখনো কোন ব্যবহারিক প্রয়োগের সঙ্গে একটি অর্থহীন একাডেমিক অর্থহীনতা যেমন বরখাস্ত, তাই যখন আমি এটা প্রয়োজন ...
Steve314

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

2
@ টবি: ফেয়ার পয়েন্ট তবে সেই সংস্থাগুলি সাধারণত যেভাবেই সংরক্ষণের বাইরে।
পিডিআর

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

@ টবি এমন কয়েকটি ক্ষেত্রে রয়েছে যেখানে চাকাটিকে পুনর্বিবেচনা করা সঠিক জিনিস, কী আপনি তা বুঝতে পেরেছেন তা নিশ্চিত করা কী
জে কে।

14

You're আপনি যদি স্বাচ্ছন্দ্যে কোডিং করে থাকেন তবে এটি মনে হয় (বা আসলে খুব অল্প সময়েই) আপনার নিজের সমাধানগুলি ঘটনাস্থলে গ্রন্থাগারগুলির দিকে না ঘুরে, অস্তিত্বমূলক কার্যকারিতা ইত্যাদির চেয়ে দ্রুততর করে তোলে feels

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

One যদি কোনও জটিল প্রোগ্রামের মানসিক চিত্র সহজেই বজায় রাখার জন্য যথেষ্ট অভিজ্ঞ হয় তবে মডিউল, স্তর ইত্যাদিতে বিভক্ত হওয়ার বিষয়ে কেউ কম ঝুঁকছেন is

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


1
হ্যাঁ সত্যই। এবং আমি মনে করি আমি যদি এই বছরগুলিতে তাদের জীবন পরিষ্কার করার জন্য ভাল জীবন উপার্জন না করতাম তবে আমি এই ধরণের লোকদের আরও বিরোধিতা করতাম ... ;-)
মাইক উডহাউস

4

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

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

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


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

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

3

100%।

এটি দেখার কুৎসিত উপায়টি হ'ল এই ধরণের কোডারগুলি প্রকৃতপক্ষে বেশিরভাগ বিকাশকারীকে কাজে রাখে, বাগগুলি ঠিক করে দেয় যা এতটাই মৌলিক যে আপনি কোনও স্থিতিশীল, নমনীয়, সুরক্ষায় অর্ধেক না হয়েই এতে হাজার হাজার বিকাশক ঘন্টাকে ডুবিয়ে রাখতে পারেন it , মডুলার বা [আপনার প্রিয় সফ্টওয়্যার সম্পত্তি] সিস্টেম। এই সিস্টেমে এতগুলি অদ্ভুত ধারণা রয়েছে যে ইতিমধ্যে ইতিমধ্যে রয়েছে 95% বৈশিষ্ট্য এবং এর পিছনে একটি প্রাণবন্ত সম্প্রদায়কে অন্য কোনও কিছুতে স্থানান্তরিত করার খুব চিন্তাভাবনা, বরখাস্ত হওয়ার জন্য হাস্যকর এবং ভিত্তির মধ্যে কোথাও বিবেচনা করা হয়।

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

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


1

আপনি যে সমস্যাটি বর্ণনা করেছেন তা মূলত এনআইএইচ ("এখানে আবিষ্কার হয়নি") - অন্য কোনও লক্ষণ আছে কি?

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


1

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

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


0

আমি সেই নৌকায় (উত্তরাধিকার সূত্রে লিখিত কোড) এবং কিছুক্ষণের জন্য নিজেকে সাবলীল টাইপের মধ্যে রেখেছিলাম।

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

মূলত, আপনাকে যে কোনও হ্যাক থেকে নিজেকে রক্ষা করতে হবে যা সম্ভাব্যভাবে "কার্যক্ষম সমাধান" হয়ে উঠতে পারে, আগ্রহী বিক্রয়কর্মী বিক্রি করার জন্য প্রস্তুত। এটি পুরানো "এটি প্রস্তুত নয়! - তবে এটি কাজ করে, না?" প্রহেলিকা।


এই প্রশ্ন জিজ্ঞাসা উত্তর কিভাবে?
gnat

@ প্রশ্ন: "আপনি তার কী মনে করেন?" প্রশ্নটি হওয়ায় আমার উত্তরটি আমি যা ভেবেছিলাম তা ছিল। আমি এখনও একই মতামত: স্বচ্ছলতা (এইভাবে দ্রুত সমাধান, হ্যাক ইত্যাদি করতে সক্ষম হওয়া) দীর্ঘমেয়াদে ক্ষতিকারক কোডের দিকে নিয়ে যেতে পারে। আপনি কেবল একটি ভাষায় সাবলীল হতে পারবেন না, কোডটি কীভাবে সংগঠিত করতে হবে তা আপনাকে জানতে হবে।
এমপিলেটিয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.