我前前后后帮自己公司、朋友工作室跑过不下30次软著申报,最头疼的环节从来不是写说明书,而是整理源代码。第一次报软著的时候刚创业,要拿三个项目的软著申园区的创业补贴, deadline卡得死,我熬了两个通宵手动调代码格式,结果提交上去第三天就全部被打回。
打回理由现在都记得清清楚楚:第一个项目第17页空行超过5行,第二个项目源代码注释占比超过70%,第三个项目页眉的版本号写错了一位。那时候离补贴申报截止只剩48小时,没办法只能花六千多找了加急代理,才勉强赶上,光代理费就花掉了小半补贴的钱。
我当初在源代码排版上踩过的那些坑
很多第一次报软著的人都不知道,源代码审核的隐形要求其实特别多。官方公开的要求只有“提交源程序前、后各连续30页,不足60页的全部提交”,但实际审核的时候,每页的行数、空行占比、注释占比、页眉格式、代码原创性都有要求,随便哪项踩线都要被打回。
我最开始手动调的时候,对着网上搜来的零散攻略,先把代码里的空行批量删掉,再把大段的注释清掉一部分,然后一页页凑行数,要求每页不少于50行,多了要删,少了要从其他地方挪合适的代码过来补,最后还要统一加页眉,标上软件名+版本号,再加页码,前30页从1标到30,后30页从31标到60,一套流程下来,手熟的人做单个项目也要两三个小时,手生的话搞一天都有可能。
最烦的是很容易出错,我曾经有次调了三个小时的代码,最后发现第28页的页眉把版本号V1.0写成了V1.1,只能全部推倒重来。后来才知道,软著源代码排版还有个隐形要求,就是前后30页的代码不能有大面积重复,也不能出现第三方开源代码的内容,很多人图省事直接把node_modules或者引入的框架代码放进去,哪怕格式再规范也过不了审核。
自动排版到底能省多少事?
我第一次接触自动排版是去年帮朋友的工作室报6个软著,那时候我手头还有项目要赶,根本抽不出一两天时间手动调格式,搜工具的时候就找到了软著源代码自动排版的工具,也就是软著Pro的站,顺手推荐给你们,要是平时报软著的次数多,或者赶时间,直接用这个就行,我自己用了快两年,从来没在格式上出过问题。
操作其实特别简单,你把自己写的核心业务代码整理成一个文件,注意不要把第三方依赖、测试代码、注释掉的废代码放进去,然后上传到工具里,填好你的软件全称和版本号,点一下生成,几分钟就能出来符合要求的60页PDF。我当时6个软著的源代码,总共花了不到15分钟就全部弄完了,提交上去之后全部一次过,连补正的通知都没收到。
我后来算过,按手动调一个项目3小时算,6个项目要18小时,哪怕我加班做也要两天,用自动排版十几分钟搞定,省下来的时间我改了两个需求bug,还休了半天假,完全不是一个效率级别的。
选自动排版工具要注意什么
当然也不是所有自动排版工具都靠谱,我同事上个月贪便宜找了个不知名的免费工具,生成的PDF提交上去直接被打回,说每页平均只有43行,不符合要求,而且他后来才发现那个工具会留存用户上传的源代码,吓得他赶紧把几个核心项目的代码做了加密处理。
选工具首先要看生成的文件是不是完全符合审核要求,我用软著Pro这么久,生成的文件每页都是刚好50行,空行不超过2行,注释占比控制在30%以内,页眉页码全部自动生成,完全不用自己再调整。其次要注意数据安全,毕竟源代码是公司或者个人的核心资产,要是被泄露麻烦就大了,这个站我专门问过客服,上传的代码处理完之后会自动删除,不会在服务器留存,用着也放心。
还有个很多人容易忽略的点,要是你的代码量不够60页,有些工具会给你重复填充代码,这种很容易被审核查出来,我用的这个工具会自动从你上传的代码里提取不重复的片段补全,不会出现重复内容,也不会随便生成无关的代码,这点特别实用。
上个月我有个学弟评职称,差一个软著凑加分项,提交的时候自己手动调的格式被打回,离职称申报截止只剩3天,我给他推了工具,当天就重新提交了,赶在截止前一周拿到了软著证书,要是当时再耽误几天,就只能等下一年的评审,少说要多耽误半年时间。
其实很多人报软著都是赶时间,要么是申补贴、评职称,要么是投标要用,本来时间就紧张,真的没必要在源代码排版这种机械性的工作上浪费太多精力,找个靠谱的工具几分钟就能搞定的事,犯不上熬通宵自己调,省下来的时间干点什么不好。