批评与赞美
若批评不自由,则赞美无意义
还是去年的时候,公司的行政部门突然要我们开始填对他们的评价,大致有这些:姓名、部门、对某个负责此部门的行政的评价。在某一次被催着写评价之后,我就很随意的对某位行政说:如果要评价最好做成匿名的,这样大家才会写真实的想法。在某一次评价时,我发现果然变成了匿名的。
本来这是一件挺好的事情,没过多久,就出了意外:某个员工在填写问卷时写了不友善的话语。其实从我本人的角度来说,这反而是好事,不管那位员工的评价是真是假是好是坏,都代表了他的想法。你可以认为他说的不对,直接忽略他就好。但是我们的某位负责人在某个管理群里进行了好长一段控诉,甚至要求各个部门对员工进行宣导。这个操作就让我看不懂了。如果这样的话,是不是这个评价只能说好话,那还需要评价干嘛,反正都是好的。
记住一句话:若批评不自由,则赞美无意义。
反正在那次事件之后我们的评价就在钉钉进行了,虽然依然不用写姓名与部门,但是我知道在钉钉肯定会与我们的个人信息进行关联了,也就是再也没有匿名了,那这样统计出来的评价肯定分数很高,但是同时也失去了意义。
在某次闲着无聊的时间,我就在思考怎么实现一个公司内部的完全匿名的系统,需要保证只有公司的人才能参与,但是所参与的活动又不能与真实人进行任何形式的关联,同时在某种程度上又要保证每个人只能参与一次。
首先,我设想给每个员工分配一个随机的字符串,作为激活密钥。然后员工用这个激活密钥去激活设置自己的账号和密码,以后的活动都根据这个账号参与。对于普通不限制参与次数的活动,比如评论等,则只记录数据本身,不和用户做任何关联。随遇需要限制参与次数的活动,比如投票,则员工投票时,对员工的账号进行哈希计算,保存哈希值与投票选项。但是这样有个问题就是从数据库还是可以看出来同一个员工参加多次投票的结果,虽然还是不知道真实身份,但是从多个不同投票的结果有可能泄漏一些信息。有一种方式解决这个问题,就是员工账号加上投票时间戳进行哈希计算,然后保存哈希值与投票时间戳,但是这样有个问题是某个新的投票进来时,为了验证这个账号是否已经投过票,需要去数据库遍历当前投票的所有已参与的哈希与时间戳,然后账号与每个时间戳进行哈希然后进行比较,这个时间成本是很高的,目前我还未想到有什么其他方式可以解决这个问题。