প্রকাশের কোডটি অবলম্বন করার সুবিধা কী কী?


12

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

মাইনক্রাফ্ট জাভাতে লেখা হয় এবং স্ট্যাকের চিহ্নগুলি সাধারণত এগুলির মতো দেখা হয় (আসল উদাহরণ):

java.lang.NullPointerException
    at d.a(SourceFile:247)
    at gi.b(SourceFile:92)
    at bd.a(SourceFile:33)
    at bn.a(SourceFile:69)
    at bn.e(SourceFile:115)
    at bn.d(SourceFile:103)
    at net.minecraft.client.Minecraft.i(SourceFile:1007)
    at net.minecraft.client.Minecraft.run(SourceFile:596)
    at java.lang.Thread.run(Unknown Source)

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

এর চেয়ে বেশি জটিল ত্রুটি সনাক্তকরণের ত্রুটিগুলি কাটিয়ে উঠা এমন একটির মতো তার কোডটি অবলম্বন করে কোনও লাভ কী আশা করতে পারে?


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

উত্তর:


22

আমরা আমাদের জাভা কোডটিও অস্পষ্ট করি ....

সুবিধাটি হ'ল এটি রিভার্স-ইঞ্জিনিয়ারকে কঠিন করে তোলে (যদি আপনি কেউ আপনার কোড বেসটি চুরি করে এবং অনুরূপ প্রতিযোগী পণ্য তৈরি করার জন্য এটি বেস হিসাবে ব্যবহার করার বিষয়ে উদ্বিগ্ন হন তবে উদাহরণস্বরূপ)।

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

এর আসলে কোনও অসুবিধা নেই। :)


3
মজার বিষয়, আমি কখনই জানতাম না যে তারা "স্ট্যাক ট্রেস আন-অবফসেকেশন" নিয়ে এসেছিল (কখনই কোনও অবসেক্টর ব্যবহার করেনি) ... কী ঝরঝরে ধারণা :-)
ডিন হার্ডিং

1
আমি যে একমাত্র ত্রুটিটি ছুঁড়েছি তা হ'ল মাঝেমধ্যে একটি অবফসেক্টর (একটি। নেট এটির ক্ষেত্রে একটি) এটি এমনভাবে বিস্মৃত করে যেখানে জিটারটি এটি পড়তেও পারেনি (অবৈধ নির্দেশাবলী)। প্রচুর ব্যর্থ।
vcsjones

@vcsjones: তা সত্যিই কিংকর্তব্যবিমূঢ়তা তারপর আছে ...
Configurator

3
  • আপনি বৌদ্ধিক সম্পত্তি রক্ষা

বেশিরভাগ অবলম্বনকারী আপনার কোডটিও অপ্টিমাইজ করে , অব্যবহারযোগ্য মেটাডেটা অপ্রয়োজনীয় কোড, সংক্ষেপণ, ডেড কোড বিলোপকরণ বা নকল বিলোপ অপসারণ করে।


যদি এমন অপ্টিমাইজেশনের জন্য যদি কোনও ওবফাসেকটার ব্যবহার করতে হয় তবে ব্যবহারের সংকলকটি অবশ্যই সফ্টওয়্যারটির একটি অলস অংশ হতে হবে।
ফ্রেসনেল

@ ফ্রেসনেল: হ্যাঁ অবসেক্টর খুব ভাল কাজ করতে পারে

@ ফ্রেসনেল: অসম্পূর্ণ, সম্ভবত, তবে

তুমি ঠিক. আমাকে পুনরায় পোস্ট করতে দাও।
ফ্রেসনেল

1
আমি আপনাকে বিশ্বাস করি না এমন নয়; আমি করি! তবে এই সমস্ত অপ্টিমাইজেশানগুলি সাধারণত আধুনিক সংকলকরাও ব্যবহার করেন। কমপক্ষে আমি জানি যে সিসি তাদের সমস্ত রয়েছে। সুতরাং আমার মতামতটি হ'ল: যদি কোনও সংক্ষেপক [বিক্রেতারা] যথেষ্ট চেষ্টা করেননি, বা এটি যথাযথ অপ্টিমাইজেশন পতাকা দেওয়া হয়নি তার চেয়ে যদি কোনও অবলম্বনকারী আপনাকে সত্যিই একটি দ্রুত গতিপথ দেয় up
ফ্রেসনেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.