স্থির বিশ্লেষণের ক্ষতিগুলি কীভাবে এড়ানো যায়


17

আমি এমন একটি প্রতিষ্ঠানে কাজ করছি যা জোয়েল টেস্টে 11 স্কোর করবে - কমপক্ষে কাগজে।

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

দৃশ্যত ভাল অভ্যাসগুলির মধ্যে একটি যা আমাকে কাজ না করায় আঘাত করেছে তা হ'ল স্থির বিশ্লেষণ সরঞ্জামগুলির ব্যবহার। প্রকল্প দুটি জিসিসি -ওয়াল সতর্কতা এবং একটি স্বত্বাধিকারী এবং অত্যন্ত ব্যয়বহুল "সি / সি ++" সরঞ্জাম ট্র্যাক করে ।

জিসিসি সতর্কতাগুলি বাগের মধ্যে (যদি বেশিরভাগ সময় অযৌক্তিকভাবে হয়) বাগগুলিতে ইঙ্গিত না করে do

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

মানক অনুশীলন হ'ল লোকেরা প্রতিটি সতর্কতা বন্ধ করে দিতে চাপ দেওয়া হয়। নোট করুন যে এটি এমন সতর্কতাগুলি বাদ দেয় যা মূলত মিথ্যা ধনাত্মক, এটি সমস্যা নয়।

ফলাফল হলো:

  1. প্রক্রিয়াটিতে প্রকৃত সমস্যাযুক্ত ধরণের অমিলগুলি গোপন করে লোকেদের প্রতিটি মূল্যায় এবং প্রতিটি যুক্তিতে টাইপ কাস্ট যুক্ত করে।
  2. লোকেরা একটি বাগ দ্বারা প্রবর্তন করে, বা একটি ভিন্ন সমস্যাযুক্ত ভাষা বৈশিষ্ট্য ব্যবহার করে (
  3. সতর্কতা নিঃশব্দ করা হয়।
  4. বাগ রিপোর্টগুলি ঘূর্ণায়মান শুরু হয়।

মূল কথাটি হ'ল মূল কোডটি এমন লোকেরা লিখে কাজ করেছিল যা তাদের ভাষার দক্ষতার মধ্যে নিরাপদে খেলছিল যদিও ফিক্সগুলি ছিল না।

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

একটি সমাধান যা সমস্ত প্রোগ্রামারকে ধরেই নেয় না এমন প্রতিভা যা ভুল করতে পারে না। কারণ ভাল, যদি তারা হয় তবে প্রথমে সরঞ্জামগুলি ব্যবহার করার দরকার নেই।


1
পার্শ্ব দ্রষ্টব্য: CC -Wall besides এর পাশাপাশি জিসিসিতে «-Wextra» বিকল্প রয়েছে, এবং আরও সতর্কতা যা উভয় মেটাওপশনগুলির জন্য কোনও কারণে অন্তর্ভুক্ত নয়। আরও তথ্যের জন্য ডক্স দেখুন See সাধারণভাবে প্রতিটি বিকল্পের একটি উল্লেখ থাকে যদি এটি মেটাওপশন দ্বারা সক্ষম হয়। সুতরাং যেটি সক্ষম নয় সেগুলি সন্ধান করার জন্য আপনি ডক্সের উপরে সমস্ত শব্দ highlight -Wall «এবং« -Wxtra both উভয় হাইলাইট করতে চাইতে পারেন এবং কোনটি এখনও ব্যবহৃত হয়নি তা আপনি দেখতে পাবেন।
হাই-এঞ্জেল

আমি আরও যুক্ত করেছিলাম যে আমি আশ্চর্য হয়েছি যে জিসিসি «-ওয়েক্সট্রা of এর বেশিরভাগ অংশ« -ওয়াল included তে অন্তর্ভুক্ত করেনি » বিশ্বাস করুন, এই জাতীয় কয়েকটি পতাকা অতিরিক্ত দরকারী ; কমপক্ষে এই সতর্কতাগুলি আমাকে কয়েক ঘন্টা ডিবাগ থেকে মুক্ত করে।
হাই-এঞ্জেল

1
আমি অবাক হয়েছি কেউ উত্তরে কোড রিভিউ উল্লেখ করেনি। আমার জন্য, কিছু
ক্রেপি হ্যাকগুলিতে লুকিয়ে থাকার

উত্তর:


16

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

এটি অবশ্যই আপনার সমস্যার একটি ভাল অংশ। একটি সফ্টওয়্যার ইঞ্জিনিয়ার 40 ঘন্টা / সপ্তাহের বেশি উত্পাদনশীলভাবে কাজ করতে পারে না। যদি আপনি এর থেকে ওপরে যান, আপনি কাজ করার জন্য আপনার ক্ষমতার গুরুতর ক্ষতি করছেন- এমন সময় পর্যন্ত যেখানে ৮০ ঘন্টা / সপ্তাহ কাজ করাও প্রকল্পের খুব কম মূল্য নিয়ে আসে এবং কখনও কখনও প্রকল্পগুলি এমনকি পুনরায় চাপ দিতে পারে কারণ দলটি তার চেয়ে বেশি ত্রুটি প্রবর্তন করে because তারা ঠিক করতে পারেন। আপনি যদি অর্ধ বছরের জন্য hours০ ঘন্টা / সপ্তাহ বা তার বেশি কাজ করে থাকেন তবে আপনার পুরো টিমের একটি ভাল দীর্ঘ বিরতি প্রয়োজন, এবং ৪০ ঘন্টা / সপ্তাহে ফিরে আসতে হবে। আপনি এমন কোনও কর্মশক্তির সাথে এমন কোনও সমস্যার সমাধান করতে পারবেন না যা কীবোর্ডে বাশ দেওয়ার পক্ষে খুব কমই সক্ষম কারণ তারা এত বেশি কাজ করেছে।

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

আপনাকে সত্যই প্রয়োজন হয় কেবলমাত্র সরঞ্জামটি পুরোপুরি ফেলে দিতে হবে, বা এটি পুনরায় কনফিগার করতে / প্রতিস্থাপন করতে হবে। প্রত্যেকটি অন্তর্নিহিত কাস্টের উপর সতর্কতা যে কারও সাথে মোকাবেলা করতে পারে না।


আপনি দয়া করে সপ্তাহের সীমাতে প্রায় 40 ঘন্টা কোনও গবেষণার জন্য একটি রেফারেন্স সরবরাহ করতে পারেন?

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

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

13

আমি এমন একটি প্রতিষ্ঠানে কাজ করছি যা জোয়েল টেস্টে 11 স্কোর করবে - কমপক্ষে কাগজে।

এই পরীক্ষাটি সফটওয়্যার সংস্থাগুলির সাথে কেবল হালকাভাবে প্রাসঙ্গিক। আমি এটি সম্পর্কে হাইপ বুঝতে পারি না। আপনি 12 স্কোর করতে পারেন এবং এখনও 100% ক্র্যাপ প্রোগ্রামার থাকতে পারে। মানুষ সরঞ্জামের চেয়ে অনেক বেশি গুরুত্বপূর্ণ।

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

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

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

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

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

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

একটি সমাধান যা সমস্ত প্রোগ্রামারকে ধরেই নেয় না এমন প্রতিভা যা ভুল করতে পারে না। কারণ ভাল, যদি তারা হয় তবে প্রথমে সরঞ্জামগুলি ব্যবহার করার দরকার নেই।

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

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


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

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

4

আপনি কীভাবে সমস্যাটি সমাধান করবেন জিজ্ঞাসা করছেন বা কীভাবে আপনি প্রথমে এড়াতে পারতেন তা স্পষ্ট নয়। আমি পরেরটি ধরে নিচ্ছি।

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

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

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

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


3

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

একটি সতর্কবার্তাটির উদ্দেশ্য হ'ল কোডটির লেখক এবং ভবিষ্যতের পাঠকদের নজরে এনে সত্য যে এখানে কিছু মাছধরা চলছে। এটি, একটি ধারণা হিসাবে, পুরোপুরি ঠিক: আপনি যত বেশি সতর্কতা সক্ষম করেছেন, তত বেশি ফিশিং জিনিস আপনি আবিষ্কার করেছেন।

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

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

সুতরাং, এটি বিরোধী লক্ষ্যগুলির একটি মামলা বলে মনে হচ্ছে; একটি দ্বন্দ্ব।

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

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

সুতরাং, সতর্কবার্তাটি চলে যায়, কোডটি আনআল্টারড থাকে এবং দমন টীকাটি সেখানে দাঁড়ায়, সিন্ট্যাক্স হাইলাইট করে রঙিন সবুজ, আইফাই রূপান্তর হচ্ছে fact এই সত্যটি দলিল করার জন্য, তবে লেখক প্রতিশ্রুতি দিচ্ছেন ভাল। (*) সবাই খুশি।

জাভাতে আপনি পৃথক পরামিতিগুলির সাথে ফাংশনগুলির উপসর্গও করতে পারেন @SuppressWarnings(), যাতে কোনও নির্দিষ্ট সতর্কতা অক্ষম করতে পারে যা কেবলমাত্র সেই নির্দিষ্ট পরামিতিতে জারি করা যেতে পারে।

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


(*) কেউ যুক্তিযুক্ত হতে পারে যে আপনি যদি এটি অনুমতি দেন তবে বাড়ির প্রতিটি প্রোগ্রামার তাদের কোনও চিন্তাভাবনা না করে সতর্কতা দমন করবে; এর উত্তর হ'ল প্রোগ্রামারদের তাদের কাজটি আরও ভালভাবে পরিচালনায় সহায়তা করার জন্য আপনি যতটা করতে পারেন তার সব কিছু করতে পারেন, তবে তারা সক্রিয়ভাবে আপনাকে নাশকতার সিদ্ধান্ত নিলে আপনি করার মতো কিছুই নেই।


অন্য কথায়, যখন পরিবর্তনের উৎস প্রতি মাসের শেষ সতর্কবার্তা পরিষ্কার করার জন্য পরিবর্তনের, ভাল অভ্যাস চাবিকাঠি compilable কোড যেহেতু এটি সহজবোধ্য কোডটি কেবল কোন ভাল কারণে সঠিক ঘটিয়েছে, নয়। ভাল পার্থক্য।
নাথান টগি 23

2

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

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

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

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

লোকেরা যদি দাসদের মতো আচরণ করা হয় তবে (এবং আমার ছুটির দিনগুলিতে যে কেউ আসছেন এটি হ'ল) ​​দায়িত্বপূর্ণভাবে কাজ করতে পারে না এবং ভাল প্রোগ্রামাররা কেবল নিয়মিতভাবে এগুলি করতে অস্বীকার করবে, যদি না তারা আরও ভাল জানেন তবে (এবং যদি তারা ভাল থাকেন তবে সম্ভাবনা থাকে) তারা করে).

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


1

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

উন্নয়ন প্রক্রিয়াতে দেরীতে এই ধরণের সরঞ্জাম ব্যবহার করা সাধারণত প্রক্রিয়া শুরুর দিকে খারাপ ডিজাইনের পছন্দগুলির লক্ষণ।

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

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


1

আমি এমন একটি প্রতিষ্ঠানে কাজ করছি যা জোয়েল টেস্টে 11 স্কোর করবে - কমপক্ষে কাগজে।

জোয়েল টেস্টের দ্বারা বৈধতা দেওয়া ভাল অভ্যাসগুলির একটি পরিমাপ নয়; জোয়েল টেস্ট দ্বারা অবৈধতা ভুল / নিখোঁজ অনুশীলনের একটি পরিমাপ। অন্য কথায়, এটি প্রয়োজনীয় হিসাবে দেখা যায়, তবে পর্যাপ্ত নয়।

এখন, রবিবার সন্ধ্যা at টায় বাড়ি ফিরে যেতে পারলে আমার বেশিরভাগ সমবয়সীরা খুশি।

দেখে মনে হচ্ছে আপনার কোনও পরিচালনা সমস্যা আছে problem সিস্টেমেটিকাল ওভারটাইম কোনও কাজ শেষ করার সমাধান নয়; যদি কিছু হয় তবে এটি এমন জিনিস তৈরি করা যেমন প্রযুক্তি কাজ করে এবং প্রযুক্তিগত debtণ জমা করে তোলে তা সমাধান করার এটি একটি সমাধান ।

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

হ্যাঁ, বুদ্ধিমান পদ্ধতিতে স্থির কোড বিশ্লেষণ ব্যবহার করার একটি উপায় রয়েছে is

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

দেখে মনে হচ্ছে আপনার সিদ্ধান্ত গ্রহণকারীরা স্থির বিশ্লেষণের পতাকাগুলিকে অ্যাপ্লিকেশন ত্রুটির সাথে গুলিয়ে ফেলেন।

অন্তর্নিহিত কাস্টগুলি তাদের স্টাইলবুকে কালো তালিকাভুক্ত করা হয়।

এটি স্ট্যাটিক বিশ্লেষণ সমস্যা নয়, পরিচালনার যোগ্যতার সমস্যা বলে মনে হচ্ছে।

ফলাফল হলো:

প্রক্রিয়াটিতে প্রকৃত সমস্যাযুক্ত ধরণের অমিলগুলি গোপন করে লোকেদের প্রতিটি মূল্যায় এবং প্রতিটি যুক্তিতে টাইপ কাস্ট যুক্ত করে।

লোকেরা একটি বাগ দ্বারা প্রবর্তন করে, বা একটি ভিন্ন সমস্যাযুক্ত ভাষা বৈশিষ্ট্য ব্যবহার করে (

সতর্কতা নিঃশব্দ করা হয়।

বাগ রিপোর্টগুলি ঘূর্ণায়মান শুরু হয়।

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

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