perl 里面如何写出阅读友好的代码提示
在我们使用别人写好的程序时,经常会使用-h 之类的东西查看一下简单的帮助手册或者说明信息;
对于perl 语言而言,写起来简单,经常随手一写,解决了当时的问题,但是过几天去看,你都不知道这个脚本该怎么调用,是用来做什么的;
为了避免这样的情况,对于常用的脚本,有必要提供较为清晰的帮助文档。
在perl 里面,官方提供了这样的注释手段,看下面的代码示例
=pod =head1 NAME L<Transdecoder.LongOrfs|http://transdecoder.github.io> - Transcriptome Protein Prediction =head1 USAGE Required: -t <string> transcripts.fasta Optional: --gene_trans_map <string> gene-to-transcript identifier mapping file (tab-delimited, gene_id<tab>trans_id<return> ) -m <int> minimum protein length (default: ) -G <string> genetic code (default: universal; see PerlDoc; options: Euplotes, Tetrahymena, Candida, Acetabularia) -S strand-specific (only analyzes top strand) =head1 Genetic Codes See L<http://golgi.harvard.edu/biolinks/gencode.html>. These are currently supported: universal (default)
Euplotes
Tetrahymena
Candida
Acetabularia
Mitochondrial-Canonical
Mitochondrial-Vertebrates
Mitochondrial-Arthropods
Mitochondrial-Echinoderms
Mitochondrial-Molluscs
Mitochondrial-Ascidians
Mitochondrial-Nematodes
Mitochondrial-Platyhelminths
Mitochondrial-Yeasts
Mitochondrial-Euascomycetes
Mitochondrial-Protozoans =cut
=pod 到 =cut 之间的内容是帮助信息,这些信息显示到屏幕上时是这样的
NAME
<Transdecoder.LongOrfs> - Transcriptome Protein Prediction USAGE
Required: -t <string> transcripts.fasta Optional: --gene_trans_map <string> gene-to-transcript identifier mapping file (tab-delimited, gene_id<tab>trans_id<return> ) -m <int> minimum protein length (default: 100) -G <string> genetic code (default: universal; see PerlDoc; options: Euplotes, Tetrahymena, Candida, Acetabularia) -S strand-specific (only analyzes top strand) Genetic Codes
See <http://golgi.harvard.edu/biolinks/gencode.html>. These are
currently supported: universal (default)
Euplotes
Tetrahymena
Candida
Acetabularia
Mitochondrial-Canonical
Mitochondrial-Vertebrates
Mitochondrial-Arthropods
Mitochondrial-Echinoderms
Mitochondrial-Molluscs
Mitochondrial-Ascidians
Mitochondrial-Nematodes
Mitochondrial-Platyhelminths
Mitochondrial-Yeasts
Mitochondrial-Euascomycetes
Mitochondrial-Protozoans
有表头部分,格式上也很整齐,通过=head1 , =pod , =cut 这几个小标签,我们只需要关注内容,就可以写出格式整齐,阅读良好的帮助信息
use Pod::Usage; pod2usage(-verbose => , -output => \*STDERR) if ($help);
通过使用Pod::Usage 模块,加可以将写好的上述格式的注释,方便的显示在屏幕上,结合if 等判断语句,自定义触发条件;
perl 里面如何写出阅读友好的代码提示的更多相关文章
- 如何用java写出无副作用的代码
搞java的同学们可能对无副作用这个概念比较陌生,这是函数式编程中的一个概念,无副作用的意思就是: 一个函数(java里是方法)的多次调用中,只要输入参数的值相同,输出结果的值也必然相同,并且在这个函 ...
- 如何写出优雅的CSS代码 ?(转)
对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混 ...
- 如何写出优雅的css代码 ?
如何写出优雅的css代码 ? 对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于 ...
- 如何写出健壮的Java代码
近来在公司写代码,写出的代码发现BUG很多,为了实现一个功能,代码改了又改,影响了工单的效率,也影响个人绩效,因此从网上找了些关于写健壮代码的文章看了看,再加上自己的一些经验总结. 所谓健壮的代码是指 ...
- 如何写出优雅的JavaScript代码 ? && 注释
如何写出优雅的JavaScript代码 ? 之前总结过一篇<如何写出优雅的css代码?>, 但是前一段时间发现自己的js代码写的真的很任性,没有任何的优雅可言,于是这里总结以下写js时应当 ...
- 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!
本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...
- 如何写出优雅的 Golang 代码
原文: https://draveness.me/golang-101.html Go 语言是一门简单.易学的编程语言,对于有编程背景的工程师来说,学习 Go 语言并写出能够运行的代码并不是一件困难的 ...
- 如何写出没有 bug 的代码?
来源:www.cnblogs.com/sherrywasp/p/9262877.html 1947年9月9日,美国海军准将 Grace Hopper 在哈佛学院计算机实验室里使用 Mark II 和 ...
- fir.im Weekly - 如何写出零 bug 的代码
神兽护体,代码无bug.经常看到代码注释的各种形状,这是一种程序员情怀.那么,如何能写出零 Bug 的代码呢,来看看@码农翻身 的这篇手册--零Bug的代码是怎么炼成的. 写零 Bug 一定少不了代码 ...
随机推荐
- [PA2014]Zadanie
[PA2014]Zadanie 题目大意: 一棵\(n(n\le3\times10^5)\)个点的树,每个点上有\(a_i\)个人.树上所有人到\(i\)号点距离之和为\(b_i\).已知\(\{b_ ...
- AC自动机算法小结
AC自动机,可惜不能自动AC 转载:飘过的小牛 OIer55242 简介 Aho-Corasick automation 该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一.一个常见的例子就 ...
- BZOJ4867 : [Ynoi2017]舌尖上的由乃
首先通过DFS序将原问题转化为序列上区间加.询问区间kth的问题. 考虑分块,设块大小为$K$,每块维护排序过后的$pair(值,编号)$. 对于修改,整块的部分可以直接打标记,而零碎的两块因为本来有 ...
- URL结构
一.概念 URL:统一资源定位符 (Uniform Resource Locator, URL). 完整的URL由这几个部分构成:scheme://host:port/path?query#hash: ...
- PAT Basic 1026
1026 程序运行时间 (15 分) 要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗 ...
- oracle函数返回结果集
一.用自定义类型实现 1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: create or replace type type_table is table of ...
- PLC STL any数据类型
1.any数据类型共10个字节,数据格式如下 2.Byte 0: 固定10h 表示S7 Byte 1:表示数据类型 Coding of the Data Types Hexadecimal Code ...
- django之Ajax初识
Ajax准么说是用于Javascript与服务器端进行交互的,我们之前呢没有了解ajax也同样可以完成与服务器的交互,那么ajax的优势在哪里?首先ajax是异步交互的也就是说我们基本不会遇到卡顿现象 ...
- __c语言__测一段代码的运行时间
2017-09-16 13:35:56 感觉很实用. /************************************** time ./a.out 命令所花费的real时间.user时间和 ...
- [原创]AndroBugs_Framework Android漏洞扫描器介绍
[原创]AndroBugs_Framework Android漏洞扫描器介绍 1 AndroBugs_Framework Android 漏洞扫描器简介 一款高效的Android漏洞扫描器,可以帮助开 ...