开发一款提高效率工作的命令行程序

Posted 坚持每天写程序

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发一款提高效率工作的命令行程序相关的知识,希望对你有一定的参考价值。

开发工作中我们常用到"时间戳和时间"、"生成guid"、"模拟身份证号",来模拟数据校验和显示;每一次都去找在线工具,确实可以,但我觉得挺麻烦,于是乎想到了自定义一个命令行。

目前我已经实现以下功能:

Usage:  [options]

Options:
  -?|-about  Show help information.
  -ts-now     当前时间戳
  -ts        转换为时间戳
  -t-now     当前时间
  -t        转换为时间
  -clear     清空
  -echo      打印C#代码结果
  -exit      退出
  -guid-l     生成小写Guid
  -guid-u     生成大写Guid
  -snow      生成雪花id
  -id-no     随机身份证号

具体怎样实现呢?

  1. 创建控制台应用并安装nuget包

McMaster.Extensions.CommandLineUtils

dotnet add package McMaster.Extensions.CommandLineUtils --version 4.0.2

NuGet\\Install-Package McMaster.Extensions.CommandLineUtils -Version 4.0.2
2. 创建命令

var app = new CommandLineApplication();

app.HelpOption("-?|-h|-help|-about");
var tsNow = app.Option("-ts-now", "当前时间戳", CommandOptionType.NoValue);
  1. 执行命令,ExecuteUtils.Ts()为自定义方法
app.OnExecute(() =>

    if (tsNow.HasValue()) Console.WriteLine(ExecuteUtils.Ts());

以上就可以通过命令行参数执行相应代码了
参考官网:https://natemcmaster.github.io/CommandLineUtils/index.html

提高.Net程序猿工作效率的开发工具

  做.NET软件工作已经10年了,从程序员做到高级程序员,再到技术主管,技术总监。见证了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio Team System 2008, Visual Studio 2010 Ultimate,Visual Studio 2013一系列近5个版本的变化与亲自使用。每一个版本都有深刻有意义的变革。Visual Studio .NET 2003 极力推广的Web Services虽然没有很流行,但是它开发ASP.NET的编译模型很快得到公司的技术部认可,完全重写了原来的ASP系统。

  很幸运工作以来一直是.NET + SQL Server 的开发工作,其它比如Oracle或是Android Java类的技术工作并没有很长时间的经历,所以我推荐的工作就侧重于.NET + SQL Server类的工具。

  1 ReSharper 7.1

  现在电脑开发人员硬件的标准配置是i5+8G,在内存已经足够用的情况下,推荐安装好Visual Studio后第一个要安装的插件就是
  ReSharper,这个软件的几百个功能点都很实用。最新版本的ReSharper是ReSharper.2015.1.Ultimate.9.1.0,支持Visual Studio 2015。

  2 .NET Reflector
  著名的.NET Reflector包含在此工具箱中。.NET Reflector我常常用来查看编译过的程序集,看命名空间是否规范,看类型的成员命名是否合理,如下图所示。

  作为一个多年从事开发的程序员,看到代码中包含WindowsApplication1,button1, panel1之类的命名总会是非常的反感。这样没有意义的命名,给程序代码的维护人员带来诸多的痛苦。

  3 SQL Prompt 6

  安装好SQL Server 后的第一个要做的事就是安装SQL Prompt插件,这个工具扩展了SQL Server Managment Studio中书写SQL代码的智能提示,让书写SQL语句更方便,快速,准确。

  图中是经典的SQL Prompt代码智能提示窗口。当鼠标旋停在一个对象(表名,视图名称,字段名)上时,SQL Prompt会显示这个对象的属性。比如上图中所示,显示了当前Part表的所有字段的脚本。

  SQL Prompt常常包含在SQLToolbelt工具包中,这个系列的软件包工具都很实用。
  4 SQL Compare

  做数据库开发过程中,常常会添加一些脚本,当把这些脚本部署到其它电脑中时,用手工增加脚本的方法过于原始又容易出错,于是SQL Compare的出现,完全满足了我的需求。

  如上图所示,在开发的电脑上用SQL Server Management Studio修改表或视图定义,当需要把这个脚本部署到另外一个数据库或电脑中时,运行此工具,选择两边的数据库作一个计较即可完成。

  5 Code Smith 6.5

  工作中经常会遇到一些相似的代码编写工具,会考虑将这些共同的重复的代码封装成Code Smith模板文件。将可变部分提取为参数,运行时选择或输入参数即生成需要的代码。

  6 .NET Reactor

  经常要给客户或是准客户做一些例子代码,又不想将代码完全给未付款的客户。对于.NET的程序集格式文件,把没有经过混淆的文件传送给客户,即可认为将源代码给客户。常常是与客户打交道时,客户还没有付款,程序又不能不发给客户测试,只好用.NET Reactor加壳混淆处理。这个也不是完全有作用,现在去壳反混淆的工具非常多,准确率也很高。

  做这一步动作也只是为了让代码被反编译之后,阅读相对困难。不过,优质的客户是预付款之后,再提供程序或是技术支持,这个就没有加密混淆的必要了。

  7 LLBL Gen Pro

  接触LLBL Gen Pro有6年多了,从一开始的不熟悉,困惑,到最后完全接受,并且能用这个工具独立带领团队开发项目,深深知道ORM对企业应用开发的意义重大。ORM生成表对应的映射的实体,通过对实体的操作,实现OOP面向对象编程,代码的可维护性,可阅读性方面有了极大的提升。在任何时候,我都会将这个工具作为首选工具推荐给未接触ORM开发的朋友。

原文:http://www.cnblogs.com/JamesLi2015/p/4647255.html

此处加上博主自己在使用的工具:

  8 Visual Assist X(简称”VAX”)

  VAX是博主第一次使用是在大一的时候,刚开始学C语言,使用Microsoft Visual C++开发工具时接触的一个插件,当时由于写C++代码,在Microsoft Visual C++并没有代码自动补全(智能提示)的功能,所以博主当机立断去找了下,于是找到了这个工具。
  VAX支持Microsoft Visual Studio 2003-2017,C/C++,C#,ASP,VisualBasic,Java和HTML等语言,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等。使用Visual Assist X有助于提高开发过程的自动化和开发效率。
  特别是使用ASP.NET MVC框架开发的童鞋,这个工具的作用尤为显著,可以明显提高书写JavaScript、HTML的效率,使得在VS中书写前端代码不在是一种痛苦。

  9 JSEnhancements

  在VS中编辑JavaScript、CSS代码还有一个令人头疼的问题,那就是有时候代码冗长,我们可能会想要像写C#代码那样的折叠功能。JSEnhancements这款插件很简单,就是为JavaScript、CSS代码提供了折叠功能。
  其基本的功能是方法、类折叠。
  其详细的使用方法可能参考这篇文章:不错的VS2010扩展——JSEnhancements,让js和css也折叠

  10 JSCompress

  看名称就知道这是一款JavaScript脚本压缩工具,功能简单,只要设置了压缩路径,就会自动压缩JavaScript脚本。压缩JavaScript脚本的好处呢,除了提高脚本的安全性,更重要的是压缩了脚本的体积,使得你的Web程序加载脚本的速度更快。

  11 Css Sprite Tools

  图片压缩工具,把你的n张图片压缩成一张,并且生成CSS类的工具,也就是说你在使用的时候,不需要指定src,只需要指定生成后的class就可以了。这也是一个非常好用的前端工具。

  12 Fiddler 4

  这是一款非常好用的抓包发包工具,由于这个工具非常知名,具体的就不介绍了。
  

以上是关于开发一款提高效率工作的命令行程序的主要内容,如果未能解决你的问题,请参考以下文章

每日收藏资深开发者的开发神器

让你提高效率的 Linux 技巧

提高Linux工作效率的十大bash技巧

好用的办公软件集锦,提高你的工作效率——快来认领~

Linux 命令行下搜索工具大盘点,效率提高不止一倍!

Linux 命令行下搜索工具大盘点,效率提高不止一倍!