一些不曾注意的代码规范

不经历这一遭,永远不会明白为啥要遵循这些规范

命名规范

基础的驼峰或者其他,相信不用多说,重点在于,平时以为没必要的

xml中属性顺序

在第一个版本开发的时候,往往不会注意这些,写的顺序会比较混乱,毕竟复制黏贴不少,甚至有些width和height还有id放到最下面去了。
但是重构的时候,或者说第二个版本开发的时候,想要快速理解代码,这里就增加了很多难度,有时候要找是否有居中,间距多少,要查看半天
so, 这里建议,按顺序写,首先写id,然后宽高,然后相对位置,然后间距,再然后其他

xml中每个控件的用途注释

这里有利于理解代码,特别是对于英语不好的同学,每次要去看id命名,然后脑子里要把英文转为中文,如果有个地方相似id有几个,那看得更加头疼。

文件名

尽量以model+function的形式命名,或者其他,而且一旦约定,最好就要遵循,这样看起来会非常的舒服

资源名

在第一版开发的时候,为了偷懒,经常在xml中直接引用公用的资源,例如default_blug_color,可是后续改版中,一旦项目风格改变,那么,就只能在对应的xml中去修改,所以建议:在color中将对应需要使用的颜色声明出来,然后引用default_blug_color,这样,便于查看和修改

正式改版开发的约定

命名

有时候你不能更改原文件,一是为了方便对照,二是不引起其他地方报错,比如有写activity需要intent各种传值,接受值,如果,没有做好容错处理,很容易nullPointException

建议约定,新版本的都命名为在文件末尾添加一标识例如“_new”或者“_temp”
而且,在变量中尽量不要使用包含以上的命名,这样就可以写一个脚本,通过遍历的方式来修改,而不是手动修改,but,资源文件中,有可能存在_new
的变量,所以,在写这个脚本的时候,务必排除这些有可能有类似变量的文件,至于修改之后发生的错误,运行一遍,一目了然,再慢慢修改,我认为这样比重复劳动n次所造成的劳累要小很多。(当然,不同类型的人,不一样)
不过,在这之前,如果代码结构有变化,建议先把原有的文件移动到对应模块下,这样新建的文件和旧的文件,会排列在一起,便于查看

功能模块

最好是边界清晰,方便复用

暂时想到这么多,先这样吧

以下是使用Python生成《红楼梦》词云的示例代码: ```python import jieba from wordcloud import WordCloud, STOPWORDS import matplotlib.pyplot as plt from PIL import Image import numpy as np # 读取文本文件 text = open('hongloumeng.txt', 'r', encoding='utf-8').read() # 使用jieba进行中文分词 words = jieba.cut(text) # 过滤停用词 stopwords = set(STOPWORDS) stopwords.add('一回') stopwords.add('不知') stopwords.add('两个') stopwords.add('什么') stopwords.add('说道') stopwords.add('听见') stopwords.add('这里') stopwords.add('进来') stopwords.add('我们') stopwords.add('你们') stopwords.add('如今') stopwords.add('知道') stopwords.add('众人') stopwords.add('那里') stopwords.add('起来') stopwords.add('姑娘') stopwords.add('这个') stopwords.add('出来') stopwords.add('他们') stopwords.add('自己') stopwords.add('一面') stopwords.add('只见') stopwords.add('怎么') stopwords.add('奶奶') stopwords.add('太太') stopwords.add('婆子') stopwords.add('回来') stopwords.add('不是') stopwords.add('这样') stopwords.add('只是') stopwords.add('一时') stopwords.add('不能') stopwords.add('不敢') stopwords.add('不好') stopwords.add('一点') stopwords.add('就是') stopwords.add('不到') stopwords.add('出去') stopwords.add('一句') stopwords.add('之后') stopwords.add('心里') stopwords.add('今日') stopwords.add('一声') stopwords.add('听说') stopwords.add('咱们') stopwords.add('这些') stopwords.add('就要') stopwords.add('下来') stopwords.add('大家') stopwords.add('不用') stopwords.add('只得') stopwords.add('不想') stopwords.add('不由') stopwords.add('一起') stopwords.add('这么') stopwords.add('这时') stopwords.add('如何') stopwords.add('不同') stopwords.add('不再') stopwords.add('一件') stopwords.add('这话') stopwords.add('不过') stopwords.add('不禁') stopwords.add('不免') stopwords.add('不由得') stopwords.add('不得') stopwords.add('不曾') stopwords.add('不肯') stopwords.add('不敢想') stopwords.add('不往') stopwords.add('不像') stopwords.add('不为') stopwords.add('不识') stopwords.add('不怕') stopwords.add('不觉') stopwords.add('不便') stopwords.add('不由自主') stopwords.add('不怎么') stopwords.add('一下子') stopwords.add('不成') stopwords.add('也许') stopwords.add('不好意思') stopwords.add('不少') stopwords.add('不比') stopwords.add('不大') stopwords.add('不然') stopwords.add('不知道') stopwords.add('不得不') stopwords.add('不会') stopwords.add('不要紧') stopwords.add('不必') stopwords.add('不敢当') stopwords.add('不过是') stopwords.add('不理') stopwords.add('不妨') stopwords.add('不出') stopwords.add('不用说') stopwords.add('不然的话') stopwords.add('不可') stopwords.add('不免让人') stopwords.add('不如') stopwords.add('不得已') stopwords.add('不在乎') stopwords.add('不过如此') stopwords.add('不妨碍') stopwords.add('也好') stopwords.add('不依') stopwords.add('不再说') stopwords.add('不比之下') stopwords.add('不但') stopwords.add('不到位') stopwords.add('不尽') stopwords.add('不妨说') stopwords.add('不挂') stopwords.add('不同意') stopwords.add('不止') stopwords.add('不留') stopwords.add('不是不') stopwords.add('不成问题') stopwords.add('不见得') stopwords.add('不祥') stopwords.add('不问') stopwords.add('不耐') stopwords.add('不就行了') stopwords.add('不免有') stopwords.add('不毛') stopwords.add('不易') stopwords.add('不然的话') stopwords.add('不成体系') filtered_words = [] for word in words: if word not in stopwords: filtered_words.append(word) # 基于文本生成词云 mask = np.array(Image.open('hongloumeng.png')) wc = WordCloud(background_color='white', font_path='msyh.ttc', mask=mask, max_font_size=100, min_font_size=10) wc.generate(' '.join(filtered_words)) # 显示词云 plt.figure(figsize=(10, 10)) plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 说明: - 代码中使用了jieba进行中文分词,需要先安装jieba库。 - stopwords是停用词集合,用于过滤一些无意义的词汇。在这里,我们添加了一些《红楼梦》中常出现但无实际意义的词汇。 - 词云使用了《红楼梦》的封面作为掩模(mask),通过指定mask参数可以将词云形状限制在指定图形内。在这里,我们使用了一张红楼梦的图片。 - 最后用matplotlib显示生成的词云。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值