क्या इसे जंग में कई "उपयोग" बयान घोषित करने के लिए बुरी शैली माना जाता है? मैं एक सी ++ प्रोग्रामर हूं जिसने हाल ही में जंग की कोशिश करना शुरू कर दिया। एक बात मैंने देखा है जब मैं जंग कोड की समीक्षा करता हूं यह है कि कई जंग कार्यक्रमों में कार्यक्रम के शीर्ष पर use
कथन का एक गुच्छा होगा। सी ++ से आ रहा है, यह using namespace std
का उपयोग करने के लिए विशेष रूप से हेडर फाइलें बनाते समय निराश था, लेकिन ऐसा लगता है कि मैंने देखा है कि अधिकांश जंग कार्यक्रमों में ऐसा नहीं लगता है। तो निम्न में से कौन सा मामूली उदाहरण बेहतर जंग प्रोग्रामिंग शैली माना जाता है? यदि आप बाइनरी प्रोग्राम बनाम मॉड्यूल बना रहे हैं तो क्या यह बदलता है? और क्यों?जंग "उपयोग" बनाम सी ++ "नामस्थान का उपयोग कर"
use std::sync::Arc;
use std::sync::Mutex;
use std::thread::Thread;
use std::rand::random;
fn main() {
let mut vec: Vec<char> = (0u8..10).map(|i| i as char).collect();
let mut data = Arc::new(Mutex::new(vec));
for i in 1usize..10 {
let data = data.clone();
let thread = Thread::spawn(move || {
let mut data = match data.lock() {
Ok(guard) => guard,
Err(e) => panic!("{}, was poisoned", e)
};
data.push(random::<char>());
});
}
}
या यह ... सी # में
fn main() {
let mut vec: Vec<char> = (0u8..10).map(|i| i as char).collect();
let mut data = std::sync::Arc::new(
std::sync::Mutex::new(vec)
);
for i in 1usize..10 {
let data = data.clone();
let thread = std::thread::Thread::spawn(move || {
let mut data = match data.lock() {
Ok(guard) => guard,
Err(e) => panic!("{}, was poisoned", e)
};
data.push(std::rand::random::<char>());
});
}
}
ध्यान दें कि सी ++ में एकल नाम 'उपयोग' है, उदा। 'std :: cout का उपयोग करके; 'सी ++ में ठीक काम करता है। तो नहीं, 'उपयोग' एक ग्लोब आयात कथन नहीं है। दूसरी ओर नामस्थान का उपयोग करना, है, और यह इसके प्रभाव में काफी आत्म-व्याख्यात्मक है। – rubenvb
आह, क्षमा करें, आप सही हैं। मैं सी ++ के साथ ज्यादा काम नहीं करता, इसलिए मुझे निश्चित रूप से गलत किया जा सकता है। –