Wednesday, August 03, 2005

哭笑不得

念小碩班的時候(呃,現在丟一顆石頭,砸到的都是念碩士,以後大概都會砸到博士後研究的人)接手前人的專案,改別人寫的code,現在工作也是。最近改寫 專案裡的某部分code,因為命名的因素,coding的實在哭笑不得。通常命名method是getxxx(),就是會回傳值(要不然幹嘛開頭是 get),但是專案裡常常有以下的code:

class A:
att1
def callme(self):
self.getatt1()
#許多依賴att1的指令
#some complex code
def getatt1(self):
#經過一番運算,終於得到att1的值,修改自己的某個屬性
self.att1 = complexWork

其 實我知道這樣的method大多是不給Class以外的人呼叫,但,python沒有private的實做,只有抽象的隱藏(就是把要宣告成 private的東西前面加兩個底線,物件外的人還是可以呼叫使用到該「東西」),這樣常讓人要想一下這個method到底是給不給別人呼叫。
這真是讓人哭笑不得的命名方法啊。
ps:看一下怎麼不被開除的妙招吧!

No comments: