最近、辞書を有効なCSS
コードに変換するモジュールを書く考えがありました。私のコードについてのあなたのコメントを聞きたいと思います。 BSDなど ライセンスMIT、Pythonのコードモジュールの品質を向上させるためのアドバイス
コードは非常に簡単です:
#pss.py
__version__ = '1.0'
class PSS:
def __init__(self, obj):
self.obj = obj
self.__data = {}
self.__parse(obj)
def __repr__(self):
return self.__build(self.obj)
def __build(self, obj, string = ''):
for key, value in sorted(self.__data.items()):
if self.__data[key]:
string += key[1:] + ' {\n' + ''.join(value) + '}\n\n'
return string
def __parse(self, obj, selector = ''):
for key, value in obj.items():
if hasattr(value, 'items'):
rule = selector + ' ' + key
self.__data[rule] = []
self.__parse(value, rule)
else:
prop = self.__data[selector]
prop.append('\t%s: %s;\n' % (key, value))
インポートモジュール:
#test.py
from pss import *
css = PSS({
'html': {
'body': {
'color': 'red',
'div': {
'color': 'green',
'border': '1px'
}
}
}
})
print(css)
結果:
html body {
color: red;
}
html body div {
color: green;
border: 1px;
}
だから私は改善するために、あなたのアドバイスを必要としますコードの品質
あなたは[coderiview](http://codereview.stackexchange.com/)の質問をするべきだと思います。 – shenshei
なぜ 'PSS'は辞書を取り、文字列を返す関数によく似ていますか? –
@shenshe、ありがとう、ありがとう、私はそのことについて知らなかった –