কিছু লোকের দ্বারা প্রোগ্রামিংয়ে কেন চতুরতা ক্ষতিকারক হিসাবে বিবেচিত হয়?


89

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

সুতরাং আমার প্রশ্ন হ'ল: যে সমস্ত লোকেরা মনে করে যে কিছু বিমূর্ত কৌশলগুলি খুব দক্ষতার সাথে তারা প্রতি চালাকির বিরোধী , বা আপত্তির অন্য কোনও কারণ আছে?

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


116
আমি মনে করি সম্ভবত আপনি ভুল বোঝাবুঝি করছেন - একজন ব্যক্তির মধ্যে চতুরতা একটি পুণ্য, তবে একটি সিস্টেমে চতুরতা একটি কুফল। সিস্টেম এবং কোডগুলি চালাক হওয়া উচিত নয়, সেগুলি স্ফটিক হিসাবে পরিষ্কার হওয়া উচিত। এই জিনিসগুলি তৈরি করতে প্রায়শই একজন চতুর ব্যক্তি লাগে।
nlawalker


15
@ নলাওয়াকার: আমি মনে করি এখনই পেয়েছি। "ক্লিয়ার" বা "সরল" এর শব্দের প্রতিশব্দ হিসাবে কোড উল্লেখ করার সময় লোকেরা "চালাক" শব্দটি ব্যবহার করে কারণ তাদের সত্যিকার অর্থে এমন একটি শব্দ ব্যবহার করা যা "পরিষ্কার" বা "সরল" এর প্রতিশব্দ হিসাবে ব্যবহৃত হয়
ল্যারি কোলেম্যান

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

2
এখন আর কেউ মন্তব্য কোড করে না? আপনি যেখানে চতুরতার ব্যাখ্যা দিয়েছিলেন সেখান থেকে যাঁরা অনুসরণ করে তারা বুঝতে পারে। আপনার মত 6 মাস সময়।
ফিল লেলো

উত্তর:


207

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

কী চালাচ্ছে তা নির্ধারণ করা ধীরে ধীরে জটিল হয়ে ওঠে কারণ একটি চৌকস পদ্ধতি থেকে চালাক শ্রেণিতে একটি চৌকস ধরণে জটিলতা বৃদ্ধি পায় grows সুপরিচিত পদ্ধতির পাশাপাশি, আপনাকে চিন্তার প্রক্রিয়াটি বের করতে হবে যা একটি "চতুর" সমাধান তৈরি করতে গিয়েছিল, যা বেশ কঠিন হতে পারে।

এটি বলেছিল, আমি কোনও নমুনা এড়িয়ে চলার ঘৃণা করি (যখন এর ব্যবহারটি ন্যায়সঙ্গত হয়) কেবল কারণ কেউ এটি বুঝতে না পারে। শেখা চালিয়ে যাওয়া বিকাশকারী হিসাবে আমাদের উপর নির্ভর করে এবং আমরা যদি কিছু বুঝতে না পারি তবে এটি এড়াতে হবে না, এটি শেখার কারণ।


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

সর্বশেষ অনুচ্ছেদটি আমার পছন্দ। বাকিটি সত্য, তবে দুর্ভাগ্যজনক।
অর্বলিং

দেখে মনে হচ্ছে আপনি জেনড পিএইচপি :) এর উত্স কোডটি দেখেছেন :)
টিম পোস্ট

+1 একটি সাধারণ প্যাটার্ন একটি চালাক ধাঁচের পাশাপাশি সঞ্চালন করতে পারে না এবং আপনি যেমন বলেছিলেন, বিকাশকারীরা এটি "চালাক" এর খামটিকে বুঝতে পেরে চালিয়ে যাওয়া অবিরত হিসাবে আমাদের উপর নির্ভর করে।
স্টিফেন ফুরলানি

3
যেহেতু সত্যই কেবল "ন্যূনতম, অর্থোগজনিতভাবে সঠিক" হওয়ার সময় যাকে কিছু "চালাক" করার ন্যায্যতা প্রমাণ করতে হয়েছিল, আমি যুক্ত করতে চাই যে ঠিক কী চতুর তা প্রশ্নে কিছুটা সাবজেক্টিভিটি রয়েছে। উদাহরণস্বরূপ, কিছু লোক সর্বদা লিখতে চাইবে if FuncX() then return true, else return false, এবং কখনই চাইবে না যে আপনি কেবল লেখেন return FuncX()। আমি মজা করছি না, আমি আক্ষরিকভাবে সেই কথোপকথনটি করেছি। কারণ লোকেরা কোথাও কোথাও তাদের ব্রেকপয়েন্টগুলি স্থির রাখতে চায়। :-)
ওয়ারেন পি

102

KISS নীতি

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

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

ব্রায়ান কর্নিগান


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

11
@ জেমস: অথবা আপনি কেবল ব্যর্থ হয়েছেন। ;)
জোশ কে

10
@ জো কে: আমি বরাবরই কেআইএসএসকে "এটিকে সাধারণ রাখি, বোকা!" হিসাবে জানি! - en.wikipedia.org/wiki/KISS_principle
Orbling

1
@ অর্বলিং: আমি এটিকে অন্যরকম স্মরণ করলাম, ওহ ভাল, এখন আমি জানি।
জোশ কে

1
"এটি সহজ রাখুন এবং বোকা হন" , উইকিপিডিয়া অনুসারে? :) এর অর্থ কি এটিকে সহজ রাখা বোকামি বা এটিকে সহজ রাখার জন্য আপনাকে বোকা হতে হবে ? : পি
মতিন উলহাক

83

বোকা জটিলতা উপেক্ষা করে; বাস্তববাদীরা এতে ভোগেন; বিশেষজ্ঞরা এড়াতে; প্রতিভা এটি অপসারণ। - অ্যালান পার্লিস


5
+1 সুন্দর উক্তিটির জন্য এবং কিছু সহজ এবং চতুর উভয়ই হতে পারে না এমন অন্তর্নিহিত ধারণা ছাড়াই প্রথম উত্তর হওয়ার জন্য
ল্যারি কোলেম্যান

15
কী গুরুত্বপূর্ণ তা হল প্রোগ্রামারটি হ'ল কোড নয়, চালাক হওয়ার কথা।
ক্রিস্টোফার জনসন

উপায় ভাল উদ্ধৃতি তারপর একটি মূর্খ একটি চালাক উপায়ে চতুর শব্দের অপব্যবহার।
ডেরেক লিটজ

30

সবচেয়ে ভাল সমাধান সর্বদা সর্বাধিক চতুর সমাধান নয়। কখনও কখনও সহজ সমাধান সমানভাবে ভাল।

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


3
একটি জটিল সমস্যার একটি সহজ সমাধান যে কেউ পেতে পারে যতটা চালাক।
JeffO

যদিও সর্বদা সতর্কতা অবলম্বন করা হয় যে আপনি অতিরিক্তকে সহজ করতে চান না কেবল কারণ রক্ষণাবেক্ষণকারী কোড করতে পারে না (বা এটি পড়তে পারে না)।
কেন হেন্ডারসন

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

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

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

26

ব্রায়ান কর্নিগানের উদ্ধৃতি দিতে:

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


"... যদি না আপনি চালাকের সঠিক সংজ্ঞা ব্যবহার করেন এবং কোডটি বোঝার জন্য এবং ডিবাগ করার জন্য আসলেই সহজ না হয়" "
ডেরেক লিটজ

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

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

তাতে কোনও আপত্তি নেই :)
পিটারচেন 8

22

চতুরতা একটি হাতিয়ার; নিজেই এটি ক্ষতিকারক নয়। এটি কেবল প্রসঙ্গের ক্ষেত্রে ক্ষতিকারক হয়ে ওঠে যেখানে এটি প্রয়োজন হয় না।


16

"চালাক", কোডে প্রয়োগ করা হলে, প্রায়শই "অযথা জটিল" জন্য কেবল একটি শ্রুতিমধুরতা হয়।

ভাল, পরিষ্কার, সহজ কোড পড়া যথেষ্ট কঠিন। "চতুর" কোড পড়া আবার লাতিন কবিতা অধ্যয়নের মতো।

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

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


5
আপনি যদি সামাজিক প্রোটোকল এবং "লোক ব্যক্তি [sic]" সম্পর্কে প্রচার না করে থাকেন তবে আমি এটিকে অগ্রাহ্য করতাম।
জেসন বেকার

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

আমার উত্তর সম্পাদনা। এখন পরিষ্কার / কম আপত্তিজনক?
fzwo

প্রথম বাক্যটির জন্য +1, যা আমি প্রথম কয়েকটি উত্তর পাওয়ার পরে শেষ করেছিলাম।
ল্যারি কোলেম্যান

হ্যাঁ, এই প্রসঙ্গে বোকা লোকেরা কীভাবে চালাক ব্যবহার করছে তা স্পষ্ট করার জন্য আপনাকে ধন্যবাদ!
ডেরেক লিটজ

9

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

  1. অন্য কেউ এটিকে বুঝতে পারে না, এটিকে বজায় রাখতে / এটি ডিবাগ করতে দিন।
  2. যিনি লিখেছেন তিনি জানেন না এটি কী করে।
  3. এটি শুরু করা সমস্ত উজ্জ্বল নাও হতে পারে
  4. ইত্যাদি ....

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

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

আমরা সকলেই মাঝে মধ্যে অত্যধিক অহংকারের জন্য দোষী হয়ে থাকি, তবে দলের হয়ে গেলে এটি একটি সমস্যা।


8

ভাল চালাক - অ চতুর বিকল্পের কোডের বনাম লাইনগুলির চৌকস রেখার মধ্যে উচ্চ অনুপাত। 20 লাইনের কোড যা আপনাকে 20000 লেখার হাত থেকে বাঁচায় তা হ'ল চরম চালাক। গুড চালাক নিজের কাজ বাঁচানোর বিষয়ে।

খারাপ চালাক - কোড রচিত লিখিত বনাম কোডের লাইনের মধ্যে কম অনুপাত ratio চৌকস কোডের একটি লাইন যা আপনাকে পাঁচ লাইনের কোড লেখার হাত থেকে বাঁচায় তা হল ব্যাড চালাক। খারাপ চালাক "সিনট্যাকটিক হস্তমৈথুন" সম্পর্কে।

কেবলমাত্র লক্ষণীয়: খারাপ চালাককে কখনই "ব্যাড ক্লাইভার" বলা হয় না; এটি প্রায়শই "সুন্দর", "মার্জিত", "সংক্ষিপ্ত" বা "সংশ্লেষ" নামে পরিচিত হয়।


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

2
নির্ভর করে। উদ্দেশ্য-সি / সি ++ / সি-তে, ঘটনাটি সাধারণত কোনও ব্যক্তির মধ্যে সীমাবদ্ধ থাকে। পার্ল ও রুবির, প্রায়ই সম্পূর্ণ সম্প্রদায় খারাপ চতুর সম্পর্কে একটি ভাগ মান হচ্ছে "সুন্দর", "মার্জিত", ইত্যাদি থাকবে
user8865

1
@ ব্যবহারকারী ৮৮6565: এছাড়াও, "গুড ক্লেয়ার" কোডটি মূল সংখ্যার চেয়ে কম ডিবাগ করা সহজ হয়ে যায় কারণ আপনার সংজ্ঞা অনুযায়ী এর কম পরিমাণের 3 টি অর্ডার রয়েছে।
ল্যারি কোলেম্যান

2
আহ, সুতরাং পার্ল প্রোগ্রামগুলি হ'ল - এখন প্রায় সংজ্ঞা অনুসারে - অত্যন্ত গুড চালাক :) জেনে ভাল লাগল!

7

চতুর প্রত্যেকের সংজ্ঞা সম্পর্কে আমি অবাক হই।

ব্যক্তিগতভাবে, আমি মনে করি যখন আমি একটি কঠিন, জটিল সমস্যা গ্রহণ করেছি এবং দক্ষতার একটি গ্রহণযোগ্য স্তর বজায় রেখে খুব সহজ এবং সোজাভাবে এগিয়ে এগিয়ে চলেছি তখন আমি চালাক হয়েছি।

tl; ডাঃ যখন আমি কোনও কোড পর্যালোচনা চলাকালীন আমার চালককে বুদ্ধিমান বোধ করি তখন "ওয়াও, এটি আমার মনে হচ্ছিল যে এটি হতে চলেছে তার চেয়ে সহজ ছিল", "ডাব্লুটিএফএফ এর সব কিছুর .."


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

6

তালিকাভুক্ত তত্ত্বের উত্তরগুলি বাদ দিয়ে প্রায়শই এটি প্রত্যেকের জন্য খুব চালাকের প্রসঙ্গে ব্যবহৃত হয়।

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

তত্ত্বের যুক্তিগুলি ত্যাগ করা, খুব চতুর প্রায়শই স্বল্প দক্ষ দলের সদস্যরা যুক্তিসঙ্গতভাবে কী কাজ করতে পারে তার উপর ভিত্তি করে তৈরি হয়, তাই এটি পরিবেশের সাথে খুব আপেক্ষিক।


চমত্কার: "খুব চতুর প্রায়শই স্বল্প দক্ষ দলের সদস্যরা যুক্তিসঙ্গতভাবে কী কাজ করতে পারে তার উপর ভিত্তি করে তৈরি হয়"
অরব্লিং

আপনার অবস্থানের উপর নির্ভর করে এটি সময়ে: ") "কিছুটা কম"
বিল

দলের সর্বনিম্ন দক্ষ সদস্য সম্পর্কে কে চিন্তা করে? প্রায় প্রতিটি দলে (যদিও আমি নিশ্চিত যে কয়েকটি ব্যতিক্রম আছে) এর কমপক্ষে একজন সদস্য রয়েছেন যার একেবারে কোনও ব্যবসায় নেই তাকে / নিজেকে প্রোগ্রামার বলে।
dsimcha

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

@ বিল: ল্যাম্বদা ফাংশন ??? স্পষ্টভাবে তাদের সম্পর্কে শিখতে বলার পরেও যে কেউ সহজ কিছু বুঝতে পারে না, তার কোনও পেশাদার প্রোগ্রামার হওয়ার কোনও ব্যবসা নেই।
dsimcha

6

কখনও কখনও আমি এত চালাক হয়েছি যে আমি ভুল হয়ে গিয়েছিলাম।


1
এটা ঘটতে পারে। এবং কখনও কখনও, কিছু খুব ভুল, এর অধিকার।
bobobobo

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

4

পারফরম্যান্ট, রক্ষণাবেক্ষণযোগ্য, সময়োপযোগী এবং সস্তা হ'ল উপায়গুলি আমি কোনও সমাধান পরিমাপ করি। আমি অনুমান করি যে চতুর যতক্ষণ না those নেতিবাচকভাবে এই গুণগুলি প্রভাবিত করে না ততক্ষণ কোনও সমস্যার অংশ হতে পারে।


উন্নয়নের ক্ষেত্রে ইতিবাচক হিসাবে "সস্তা" ব্যবহারের জন্য +1
গ্যারি রোয়ে

আমি খুব বেশি 'চালাক' কোড দেখেছি যা পারফর্মেন্ট নয়!
এইচএলজিইএম

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

3

যদি বুদ্ধিমান কোড + এটি বোঝার কোড <= সরল কোড করার জন্য প্রয়োজনীয় পরিমাণের মন্তব্যের পরিমাণ, তবে আমি বলি যে চৌকস কোডটির জন্য যান। প্রত্যেকবার.

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


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

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

সেরা উত্তর. মন্ত্রটি: সহজ বেসলাইন, স্টার্টার কোডটি লিখুন যা ব্রেনডেড এবং ধীরে ধীরে উঠে পড়ার সাথে ধীরে ধীরে ... এবং তারপরে আপনি এটিকে একটি অপঠনযোগ্য ওয়ান-লাইনারে সিদ্ধ করার সময় একটি মন্তব্য করুন। আপনি নিজের ভাষার সমস্ত নোংরা কৌশলগুলি এভাবেই শিখেন!
Droogans

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

3

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

প্যারাফ্রেজ করতে:

যে কোনও বুদ্ধিমান ব্যক্তি সহজ জটিলটি তৈরি করতে পারে, জটিলটিকে সহজ করতে একটি প্রতিভা লাগে।

একটি জটিল ধারণা গ্রহণ করা এবং এটিকে সরলীকরণ করা যাতে এটি বোধগম্য হয় নির্মাণকারীর চতুরতা বোঝায় তবে একটি সাধারণ ধারণা গ্রহণ করা এবং এটি জটিল করে দেখায় যে নির্মাণকারীকে চালাক হিসাবে দেখাতে চায়।


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

2

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


2
যথেষ্ট উপযুক্ত, তবে যদি কোডটি বের করতে না পারে এমন ব্যক্তি যদি ভাষার সমস্ত বৈশিষ্ট্যের সাথে পরিচিত না হয় তবে আপনার উত্তর কি পরিবর্তন হবে?
ল্যারি কোলেম্যান

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

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

2

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

বেশ কয়েকটি পরিচিত অ্যালগরিদম রয়েছে যা চালাক। কুইকোর্ট এক, আইএমও।

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

সঠিকভাবে একটি "চতুর" কোড বজায় রাখতে আপনার মস্তিষ্কে যে পরিমাণ ডেটা লোড করতে হবে তা ভাল ব্যয়-বেনিফিটের অনুপাতের জন্য সাধারণত বড় হয়।


1

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

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


1

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

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

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

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

গ্রেট কোডটির সবসময় এটির বুঝতে 100% এ রক্ষণাবেক্ষণকারী থাকা উচিত নয়। ভাল কোড চালাক। গ্রেট কোড প্রায় কার্যকর হিসাবে কার্যকর হতে পারে, তবে অন্যান্য অনেক দিক থেকে ভাল। আপনার অ্যাপ্লিকেশনটির নকশাটি অনুসরণ করতে গ্রেট কোডের 15 টি ভিউ সহ কোনও আইডিই প্রয়োজন হবে না।

দ্রষ্টব্য: আরে, আমি কিছু জিনিস লিখেছিলাম যা আমি চালাক বলে মনে করি কিন্তু এটি ডাব্লুটিএফ? এর বাইরে - আমার সহ-বিকাশকারীদের না হলে - আমার পরিচালকের মুখ। তাদের দৃষ্টিকোণ থেকে এটি তাকান আছে।


উত্তরের জন্য ধন্যবাদ. আপনি অন্যদের সাথে একমত হচ্ছেন বলে মনে হয় যারা বলে যে "চালাক" এর অর্থ এই নয় যে আমি এটি করেছিলাম doesn't
ল্যারি কোলম্যান

1

আমি চালাক হতে ঝোঁক , কিন্তু আমি মার্জিত হতে চেষ্টা করি ।

এখনই কোড বিকাশ করুন যাতে অন্যরা চেষ্টা করবে না এবং পরে এড়াবে না ।


1
আসুন ... চতুর মার্জিত জন্য প্রতিশব্দ, আপনার মস্তিষ্ক বিপণন হয়েছে। হ্যাঁ, আমি এই শব্দটি তৈরি করেছি, এর অর্থ আপনার মস্তিষ্ক সত্যের পরিবর্তে বিপণনের দ্বারা প্রভাবিত।
ডেরেক লিটজ

মার্জিত: সাধারণ এবং চতুর। ক্রোধযুক্ত যে কোনও কিছুর জন্য ডেরিকলিটস +1
কেভপি

1

এটি আমার অভিজ্ঞতা এবং অন্যান্য উত্তরের উপর ভিত্তি করে এই বিষয়টি সম্পর্কে আমার বোঝাপড়া:

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

আধুনিক পশ্চিমা সংস্কৃতির পুরোপুরি এলসিডি, আমি অনুমান করি যে প্রোগ্রামিংটি খুব বেশি হওয়া উচিত; ভাল না.
অরব্লিং

@ অরব্লিং: হ্যাঁ, তবে তাত্ক্ষণিক সন্তুষ্টি ভুলবেন না।
ল্যারি কোলম্যান

আমি আপনার অভিজ্ঞতা পয়েন্ট পছন্দ করি। এটি দুঃখজনক যে লোকেরা পুনরাবৃত্তিমূলক উন্নতির জন্য প্রচেষ্টা করছে না এবং জ্ঞান এবং বোঝাপড়া ভাগ করে একে অপরের সাথে বিনিয়োগ করছে। পরিবর্তে তারা বরং আমাদের চাকাতে কোগ করতে চাইবে যাতে সময় এলে সহজেই প্রতিস্থাপন করা যায়। এটি করে আমরা অগ্রগতি রোধ করছি। আমরা নিজেরাই স্বল্প বিক্রি করছি ...
ডেরিক লিটজ

1

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

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


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

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

1

এই প্রসঙ্গে "চতুর" অর্থ "নিজের ভালোর জন্য খুব চালাক", অর্থাত্ এমন কিছু যা এখন কাজ করে তবে পরবর্তীতে বুঝতে এবং পরিবর্তন করার জন্য এটি একটি দুঃস্বপ্ন হবে।

বিশেষত যদি এটি এমন একটি কৌশল যা প্রোগ্রামিং ভাষার একটি অস্পষ্ট বৈশিষ্ট্যটি কাজে লাগায়, বা অদ্ভুত পার্শ্ব-প্রতিক্রিয়া ব্যবহার করে, বা লক্ষ্য ভাষায় সমস্যাটি সমাধান করার সত্যিই উদ্ভট উপায়।


0

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

আমার মনে আছে একবার আমি 3 এর পরিবর্তে 1 টি তালিকা ব্যবহার করেছি এবং একটি বড় ফাংশন তৈরি করেছি যা বজায় রাখা / পরিবর্তন করা খুব কঠিন ছিল।

আজকের বিশ্বে আমাদের পারফরম্যান্সের জন্য কোডের স্পষ্টতা ত্যাগ করতে হবে না (সি ++ ব্যতীত তাদের দরকার নেই তবে তারা তা করবে)।


0

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

এইভাবে চতুর == বিভ্রান্তিকর == খারাপ :( তবে আমি সীমাবদ্ধ সমস্যার ব্যবহারিক সমাধানের জন্য তাদের ব্যবহার করার কারণে এটিও দুর্দান্ত।


0

প্রসঙ্গ এবং সহজ বোঝার জন্য পুনরায় উদ্ধৃতি:

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

ব্রায়ান কর্নিগান এখানে যা লিখেছিলেন তা স্পষ্টতই বোঝার বোঝায় এবং তিনি ভুল করে চতুর শব্দটি ব্যবহার করেছিলেন।

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

সংবর্তন:

A thing that is complex and difficult to follow.

চতুর:

Showing intelligence or skill; ingenious

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

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

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

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

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

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

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

আপনার নিজের উদ্ধৃতি যুক্ত করতে নির্দ্বিধায়! এছাড়াও, আমার লেখায় কমা যোগ করতে নির্দ্বিধায়। আমি বেশ কিছু সময় ইংরেজিতে কমা ব্যবহার সম্পর্কে আমার জ্ঞানকে রিফ্রেশ করি নি ...


-1

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

এটি কোনও চালাকতা নয়। এটি একটি জ্ঞান।


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

@ কনফিউজডগিক ঠিক বলেছেন, আপনি অজ্ঞতার দিক থেকে রেখাটি কোথায় আঁকেন?
ডিস্ক

@ অরব্লিং, সত্যই এটি শক্ত অংশ এবং কিছুটা পরিস্থিতি নির্ভর করে। আমি যে সাধারণ গাইডটি ব্যবহার করতে চাইছি তা হ'ল যদি যুক্তিসঙ্গতভাবে পাকা বিকাশকারী (ব্যবহৃত প্রযুক্তিগুলিতে জ্ঞাত) এটি আঁকতে পারে তবে সম্ভবত এটি ঠিক আছে ok যদি তারা তা না করতে পারে তবে এটি পুনরুদ্ধার করা প্রয়োজন (বা নিয়োগের অনুশীলনগুলি পর্যালোচনা করুন)।
কেন হেন্ডারসন

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

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

-1

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

একজন চালাক বিকাশকারী ভাল জিনিস।

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

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


"পিটুনি চালিয়ে থাকবে যতক্ষন না মনোবল উন্নত"
মশা

@ জাগ্রত মানে? কিছুটা পরিষ্কার করার জন্য; বিকাশকারীদের উপর কিছু চাপ দেওয়ার কারণে আমি শৃঙ্খলা গ্রহণ করি না। এটি একটি ভাল ব্যক্তিত্বের বৈশিষ্ট্য। একটি যা সাধারণত স্মার্ট লোকেরা সফ্টওয়্যার রক্ষণাবেক্ষণের কিছু সময় পরে তৈরি করে। সমস্যাটি এমন চালাক লোকদের সাথে আসে যা যথেষ্ট পরিমাণে রক্ষণাবেক্ষণকারী অবস্থানে নেই এবং অন্যদের সন্ধানের জন্য সর্বত্র চালাক বোমা রেখে দেয়।
dkateros
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.