2009-07-05 15 views
6

मैं अपने कोड के लिए योजना शैली के बारे में उलझन में हूँ।योजना कोडिंग शैली में प्रश्न

एक:

मैं के रूप में अगर रूपों को स्वरूपित करना चाहिए।

if() 
() 
() 

या बी।

if()() 
     () 

या सी।

if()()() 

मैं
एक के रूप में प्रारूप cond खंड चाहिए।

cond() 
     () 

या बी।

cond 
() 
() 

मैं एक का उपयोग कब करूं; टिप्पणी करने के लिए और एक डबल ;;

उत्तर

7

Here एक लिस्प स्टाइल गाइड है, और here एक अनुशंसित टिप्पणी शैली है।

यदि आपके पास emacs शैली संपादक है, तो आपके एस-अभिव्यक्ति के भीतर सी-एम-क्यू टाइप करना इसे आपके लिए प्रारूपित करना चाहिए; यदि आपकी लाइन ब्रेक उचित हैं (तो इंडेंट-एलीस्ट के लिए संपादक कॉन्फ़िगरेशन को बहुत बुरी तरह से नहीं जोड़ा गया है) तो यह आपको सही रूप से स्वरूपित कोड प्राप्त करेगा।

5

अपने विशिष्ट प्रश्नों के लिए डौग जवाब में भरने के लिए:

(if test 
    then 
    else) 

(cond 
    (test1 exp1) 
    (test2 exp2) 
    (else exp3)) 

या, भाव की लंबी श्रृंखला के साथ conds के लिए:

(cond 
    (test1 
    exp1 
    exp2) 
    (else 
    exp3 
    exp4)) 

टिप्पणी सम्मेलनों एक छोटे से हारने कर रहे हैं। जब मैं सावधान कोड लिख रहा हूँ, मैं कुछ इस तरह करते हैं:

;;; new section ;;; 
;;; section comments 


(define (f g . x) 
    "docstring goes here" 
    ;; in-function comments 
    (g x)) ; trailing line comment 

लेकिन ; बनाम ;; उपयोग के लिए सटीक सीमाएं बदलती हैं। विशेष रूप से, (मुझे सहित) कुछ लोगों को लाइन टिप्पणी अनुगामी तरह ज्यादा नहीं है और बदले के लिए खंड टिप्पणी में-समारोह टिप्पणी के लिए ; और ;;; का प्रयोग करेंगे।

+0

ध्यान दें कि अधिकांश योजनाओं में "डॉक्टर-स्ट्रिंग" नहीं है। –

5

ही आप किसी भी योजना/लिस्प किताब में अपने विशेष सवाल का जवाब मिल गया है | पीटर Norvig के "Tutorial on Good Lisp Programming Style" पर एक नज़र डालें।

संबंधित मुद्दे