2009-02-02 21 views
5

कंकाल या टेम्पलेट फ़ाइलों के लिए उपयोगी है जिसे आप प्रतिलिपि बना सकते हैं और एक नई स्क्रिप्ट या ऐप के आधार के रूप में उपयोग कर सकते हैं।विभिन्न भाषाओं के लिए आपकी पसंदीदा कंकाल फाइलें क्या हैं?

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

पर्ल:

#!/usr/bin/perl -w 

use strict; 
use Getopt::Long; 

my $verbose = 1; 

GetOptions("verbose!" => \$verbose 
) or die("options error"); 

सी ++:

#include <iostream> 
#include <stdexcept> 

int main(int argc, char** argv){ 
    try{ 

    } 
    catch(std::exception& e){ 
    std::cerr << e.what() << std::endl; 
    return EXIT_FAILURE; 
    } 
    return EXIT_SUCCESS; 
} 

बेशक, एक boost::program_options के लिए बुनियादी कोड शामिल हो सकते हैं आदि

अपने पसंदीदा कंकाल फ़ाइलें क्या हैं?

उत्तर

3

मेरे पर्ल टेम्पलेट्स इस तरह दिखेगा:

अगर मैं एक .pm मॉड्यूल खोलने हूँ:

use MooseX::Declare; 
class What::Ever { 

}; 

1; 

या, यदि नहीं एक MooseX::Declare परियोजना पर:

package What::Ever; 
use Moose; 

1; 

यदि यह एक है .pl फ़ाइल:

#!/usr/bin/env perl 
use strict; 
use warnings; 
use feature ':5.10'; 

चूंकि मैं autoinsert.el का उपयोग करता हूं, इसलिए मुझे यह भी पूछता है कि क्या मैं FindBin का उपयोग करना चाहता हूं; यदि ऐसा है तो:

#!/usr/bin/env perl 
use strict; 
use warnings; 
use feature ':5.10'; 

use FindBin qw($Bin); 
use lib "$Bin/../lib"; 

आवश्यक Emacs कोड http://github.com/jrockway/elisp/blob/fd5d73530a117a13ddcde92bc1c22aba1bfde1f0/_local/auto-inserts.el पर मेरे elisp भंडार में है।

अंत में, मुझे लगता है कि आप MooseX::Getopt को सादे गेटोपेट में पसंद करेंगे। यह "एक-ऑफ" स्क्रिप्ट लिखने के लिए एक और अधिक रखरखाव दृष्टिकोण है।

+0

कूल, मुझे MooseX नहीं पता था। धन्यवाद! – Frank

3

केवल कंकाल फ़ाइल मेरे पास है: (,

use My::Script;     # that's why we did the "use lib" thing 
My::Script->new_with_options->run; # this parses the command line, creates a new object, and runs the script 

सभी महत्वपूर्ण कोड एक वर्ग का परीक्षण इकाई भी हो सकता है कि, उसे वेब एप्लिकेशन पर चिपके में चला जाता है आदि अगले कुछ लाइनों की तरह कुछ जाना) लाटेक्स के लिए।

\documentclass{article} 
%\documentclass[11pt]{amsart} 
\usepackage[dvips]{graphicx} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{amsthm} 
\usepackage{cancel} 
\oddsidemargin0cm 
\topmargin-1cm 
\textwidth16.5cm 
\textheight23.5cm 
\parskip1ex 
\parindent0ex 
\begin{document} 
\title{ ... } 
\author{ ... } 
\date{ ... } 
\maketitle 

\end{document} 

स्पष्ट रूप से मैं इसे गणित पत्र लिखने के लिए उपयोग करता हूं।

अन्यथा, मैं हमेशा खरोंच से शुरू करता हूं। ऐसी कोई प्रोग्रामिंग भाषा नहीं है जिसके बारे में मैं सोच सकता हूं कि आपके मस्तिष्क में आवश्यक बुनियादी ढांचा अधिक है या टाइप करने के लिए 20 सेकंड से अधिक समय ले सकता है।

+0

प्रति फ़ाइल बॉयलरप्लेट की 4 लाइनों द्वारा आपके जीवनकाल में बनाई गई फ़ाइलों की संख्या को गुणा करें .... और मुझे लगता है कि आपको अपने संपादक को टाइपिंग करने के लिए उपयुक्त लगेगा। – jrockway

0

जब मैं कोड लिख रहा हूं जो ओएसएस होगा मेरे पास एक साधारण बॉयलर प्लेट टेम्पलेट है जो मैं लाइसेंस टेक्स्ट में लाइसेंस और यूआरएल में कुंजी कर सकता हूं। बॉयलर प्लेट में लेखक का विवरण है, और अन्य बकवास हार्ड कोडित है।

वाणिज्यिक देव के लिए मेरे पास कंपनी की जानकारी के साथ बॉयलर प्लेट है, और इसमें मानक कॉपीराइट नोटिस हैं।

मैं कोई मानक कंकाल नहीं रखता क्योंकि मुझे पता चला है कि मैंने सामग्री को काट दिया है और वैसे भी अपना खुद का जोड़ा है। ज्यादातर मामलों में काफी भिन्नता है कि मैच में कंकाल को बदलने से हाथ से बाहर निकलने तक लग जाता है।

1

दृश्य स्टूडियो में, उन्हें प्रोजेक्ट फाइल कहा जाता है; मेरे वर्तमान पसंदीदा Windows आवेदन ;-)

+0

अभी भी SO- बहुत दुखी –

1

जावा है

package edu.vt; 

import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory; 

public class Template 
{ 
    private Log log = LogFactory.getLog(getClass()); 

    /* Constructors 
    ***************************************************************************/ 

    public Template() 
    { 
    } 

    /* Accessors/Mutators 
    ***************************************************************************/ 

    /* Local Methods 
    ***************************************************************************/ 
} 

और

package testing.edu.vt; 

import edu.vt.Template; 
import junit.framework.TestCase; 
import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory; 

public class TemplateTestCase extends TestCase 
{ 
    private final Log log = LogFactory.getLog(getClass()); 

    public TemplateTestCase(final String name) 
    { 
     super(name); 
    } 

    protected void setUp() 
    { 
    } 

    protected void tearDown() 
    { 
    } 

    public void testLifeCycle() throws Exception 
    { 
     assertTrue(true); 
    } 
} 
+0

पर विनोद की कोई भावना नहीं है क्या आपको वास्तव में उन सभी ******* ... टिप्पणियों की आवश्यकता है, विशेष रूप से आप कुछ कीस्ट्रोक के साथ किसी भी विधि परिभाषा पर कूद सकते हैं? – jrockway

+0

अधिकांश कोड ओपन सोर्स योगदान के लिए एक उम्मीदवार है, जहां संदर्भ देना अच्छा होता है। और मैंने पहले से ही सभी को एक पक्ष किया है और जावाडोक टिप्पणी ब्लॉक छोड़ दिया है। याद रखें, ये कंकाल फाइलें हैं। –

1

अजगर सरल है, लेकिन यह अभी भी मदद करता है अगर आप शॉर्टकट नामों के साथ चीजों को आयात करते हैं, उदाहरण के लिए:

import sys 
import numpy as np 
import pylab as pyb 
import matplotlib.pyplot as plt 
import matplotlib as mpl 

लेकिन बस ऐसा न करें: आयात sk Ynet।

1

बॉर्न शैल

#!/bin/sh 

usage() { 
cat <<EOF 
    $0 <cmd> 
cmd: 
    samplecmd 
EOF 
} 

cmd=${1} 
shift 

case ${cmd} in 
    samplecmd) 
     arg1=${arg1:-${1}} # arg list takes precedence over env var 
     if [ "x${arg1}" = "x" ] ; then 
      usage 
     fi 
     samplecmd ${arg1} 
     ;; 
    *) 
     usage 
     ;; 
esac 

मैं आदेशों मैं खोल में टाइप दस्तावेज़ के लिए इस तरह थोड़ा सहायक स्क्रिप्ट बनाने के लिए पसंद करते हैं।

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