refactoring design smells
<[email protected]> 03 Oct 2013 20:56:07 -0700
| Newsgroups | gmane.comp.programming.refactoring |
|---|---|
| Message-ID | <[email protected]> |
CgoKCjxoZWFkPgoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KPCEtLQoKLyogc3RhcnQgb2Yg YXR0YWNobWVudCBzdHlsZSAqLwogICAgICAgLnlncnAtcGhvdG8tdGl0bGV7CiAgICAgICAg IGNsZWFyOiBib3RoOwogICAgICAgICBmb250LXNpemU6IHNtYWxsZXI7CiAgICAgICAgIGhl aWdodDogMTVweDsKICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgdGV4dC1h bGlnbjogY2VudGVyOwogICAgICAgICB3aWR0aDogNzVweDsKICAgICAgIH0KICAgICAgIGRp di55Z3JwLXBob3RvewogICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAg ICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICAgICAgIGJhY2tncm91 bmQtY29sb3I6IHdoaXRlOwogICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKICAg ICAgICAgaGVpZ2h0OiA2MnB4OwogICAgICAgICB3aWR0aDogNjJweDsKICAgICAgIH0KCiAg ICAgICBkaXYucGhvdG8tdGl0bGUgCiAgICAgICAgIGEsCiAgICAgICAgIGRpdi5waG90by10 aXRsZSBhOmFjdGl2ZSwKICAgICAgICAgZGl2LnBob3RvLXRpdGxlIGE6aG92ZXIsCiAgICAg ICAgIGRpdi5waG90by10aXRsZSBhOnZpc2l0ZWQgewogICAgICAgICAgIHRleHQtZGVjb3Jh dGlvbjogbm9uZTsgCiAgICAgICB9CgogICAgICAgZGl2LmF0dGFjaC10YWJsZSBkaXYuYXR0 YWNoLXJvdyB7CiAgICAgICAgIGNsZWFyOiBib3RoOwogICAgICAgfQoKICAgICAgIGRpdi5h dHRhY2gtdGFibGUgZGl2LmF0dGFjaC1yb3cgZGl2IHsKICAgICAgICAgZmxvYXQ6IGxlZnQ7 CiAgICAgICAgIC8qIG1hcmdpbjogMnB4OyovCiAgICAgICB9CgogICAgICAgcCB7CiAgICAg ICAgIGNsZWFyOiBib3RoOwogICAgICAgICBwYWRkaW5nOiAxNXB4IDAgM3B4IDA7Cgkgb3Zl cmZsb3c6IGhpZGRlbjsKICAgICAgIH0KCiAgICAgICBkaXYueWdycC1maWxlIHsKICAgICAg ICAgd2lkdGg6IDMwcHg7CiAgICAgICAgIHZhbGlnbjogbWlkZGxlOwogICAgICAgfQogICAg ICAgZGl2LmF0dGFjaC10YWJsZSBkaXYuYXR0YWNoLXJvdyBkaXYgZGl2IGEgewogICAgICAg ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICB9CgogICAgICAgZGl2LmF0dGFjaC10 YWJsZSBkaXYuYXR0YWNoLXJvdyBkaXYgZGl2IHNwYW4gewogICAgICAgICBmb250LXdlaWdo dDogbm9ybWFsOwogICAgICAgfQoKICAgICAgIGRpdi55Z3JwLWZpbGUtdGl0bGUgewogICAg ICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgIH0KIC8qIGVuZCBvZiBhdHRhY2htZW50 IHN0eWxlICovCiAgICAgICAgLS0+CiAgICAgICAgPC9zdHlsZT4KICAgICAgICA8L2hlYWQ+ CjxodG1sPgo8aGVhZD4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KPCEtLQojeWdycC1ta3Ag ewogIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ4ZDg7CiAgZm9udC1mYW1pbHk6IEFyaWFsOwog IG1hcmdpbjogMTBweCAwOwogIHBhZGRpbmc6IDAgMTBweDsKfQoKI3lncnAtbWtwIGhyIHsK ICBib3JkZXI6IDFweCBzb2xpZCAjZDhkOGQ4Owp9CgojeWdycC1ta3AgI2hkIHsKICBjb2xv cjogIzYyOGMyYTsKICBmb250LXNpemU6IDg1JTsKICBmb250LXdlaWdodDogNzAwOwogIGxp bmUtaGVpZ2h0OiAxMjIlOwogIG1hcmdpbjogMTBweCAwOwp9CgojeWdycC1ta3AgI2FkcyB7 CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKfQoKI3lncnAtbWtwIC5hZCB7CiAgcGFkZGluZzog MCAwOwp9CgojeWdycC1ta3AgLmFkIHAgewogIG1hcmdpbjogMDsKfQoKI3lncnAtbWtwIC5h ZCBhIHsKICBjb2xvcjogIzAwMDBmZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLS0+ Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CgoKCjwhLS0gfCoqfGJlZ2luIGVncCBodG1sIGJh bm5lcnwqKnwgLS0+Cgo8YnI+PGJyPgoKPCEtLSB8Kip8ZW5kIGVncCBodG1sIGJhbm5lcnwq KnwgLS0+CgoKPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6cmdiKDg2LCA4NiwgODYpO2ZvbnQt ZmFtaWx5OidTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xp bmUtaGVpZ2h0OjI4cHg7Ij5EZWFyIEFsbCwmbmJzcDs8L3NwYW4+PC9kaXY+PHNwYW4gc3R5 bGU9ImNvbG9yOnJnYig4NiwgODYsIDg2KTtmb250LWZhbWlseTonU291cmNlIFNhbnMgUHJv Jywgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyOHB4OyI+PGRpdj48 c3BhbiBzdHlsZT0iY29sb3I6cmdiKDg2LCA4NiwgODYpO2ZvbnQtZmFtaWx5OidTb3VyY2Ug U2FucyBQcm8nLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7 Ij48YnI+PC9zcGFuPjwvZGl2PlJlZmFjdG9yaW5nIGhhcyByZWNlaXZlZCBjb25zaWRlcmFi bGUgYXR0ZW50aW9uIGluIHRoZSBsYXN0IGRlY2FkZSBnaXZlbiB0aGUgaW1wb3J0YW50IHJv bGUgaXQgcGxheXMgaW4gQWdpbGUgbWV0aG9kcy4gV2l0aCBNYXJ0aW4gRm93bGVyIHBvcHVs YXJpemluZyDigJhjb2RlIHNtZWxsc+KAmSBpbiBoaXMgY2xhc3NpYyBib29rIG9uIFJlZmFj dG9yaW5nLCBtb3N0IHByb2dyYW1tZXJzIGtub3cgYWJvdXQgc21lbGxzLiBIb3dldmVyLCBy ZWZhY3RvcmluZyBkZXNpZ24gc21lbGxzIGFuZCBhcmNoaXRlY3R1cmUgc21lbGxzIGlzIGFs c28gZXF1YWxseSBpbXBvcnRhbnQgZm9yIGNyZWF0aW5nIGhpZ2ggcXVhbGl0eSBzb2Z0d2Fy ZS4mbmJzcDs8L3NwYW4+PGRpdj48c3BhbiBzdHlsZT0iY29sb3I6cmdiKDg2LCA4NiwgODYp O2ZvbnQtZmFtaWx5OidTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox NnB4O2xpbmUtaGVpZ2h0OjI4cHg7Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5 bGU9ImNvbG9yOnJnYig4NiwgODYsIDg2KTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoy OHB4O2ZvbnQtZmFtaWx5OidTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmOyI+WW91IG1h eSBiZSBpbnRlcmVzdGVkIGluIDxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBo cmVmPSJodHRwOi8vd3d3LnNsaWRlc2hhcmUubmV0L3NnZ2FuZXNoL3JlZmFjdG9yaW5nLWZv ci1kZXNpZ24tc21lbGxzIj50aGlzIHByZXNlbnRhdGlvbjwvYT4gd2hpY2ggaW50cm9kdWNl cyBpbXBvcnRhbnQgZGVzaWduIHNtZWxscyBhbmQgdGhlIHJlZmFjdG9yaW5nIHN0cmF0ZWdp ZXMgZm9yIGFkZHJlc3NpbmcgdGhlbS4gQWxsIHRoZSBleGFtcGxlcyBvZiBkZXNpZ24gc21l bGxzIGFyZSBmcm9tIGluIE9wZW5KREsgNy4wIChPcGVuIHNvdXJjZSBKYXZhIERldmVsb3Bt ZW50IEtpdCkgY29kZSBiYXNlLiZuYnNwOzwvc3Bhbj48YnI+PC9kaXY+PGRpdj48c3BhbiBz dHlsZT0iY29sb3I6cmdiKDg2LCA4NiwgODYpO2ZvbnQtZmFtaWx5OidTb3VyY2UgU2FucyBQ cm8nLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7Ij48YnI+ PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYig4NiwgODYsIDg2KTtm b250LWZhbWlseTonU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtmb250LXNpemU6MTZw eDtsaW5lLWhlaWdodDoyOHB4OyI+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsi IGhyZWY9Imh0dHA6Ly93d3cuc2xpZGVzaGFyZS5uZXQvc2dnYW5lc2gvcmVmYWN0b3Jpbmct Zm9yLWRlc2lnbi1zbWVsbHMiPmh0dHA6Ly93d3cuc2xpZGVzaGFyZS5uZXQvc2dnYW5lc2gv cmVmYWN0b3JpbmctZm9yLWRlc2lnbi1zbWVsbHM8L2E+Jm5ic3A7PGJyPjwvc3Bhbj48L2Rp dj48ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjpyZ2IoODYsIDg2LCA4Nik7Zm9udC1mYW1pbHk6 J1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7bGluZS1oZWln aHQ6MjhweDsiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iY29sb3I6cmdi KDg2LCA4NiwgODYpO2ZvbnQtZmFtaWx5OidTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlm O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7Ij5XZSBoYXZlIHRha2VuIGFuIHVu dXN1YWwgYXBwcm9hY2ggdG93YXJkcyByZWZhY3RvcmluZy4gVGhlIGJhY2tncm91bmQgcmVz ZWFyY2gmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYig4NiwgODYsIDg2KTtm b250LWZhbWlseTonU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtmb250LXNpemU6MTZw eDtsaW5lLWhlaWdodDoyOHB4OyI+cHJlc2VudGF0aW9uIGlzIGhlcmU6Jm5ic3A7PC9zcGFu PjxhIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LnNs aWRlc2hhcmUubmV0L3NsaWRlc2hvdy9lbWJlZF9jb2RlLzI1MTU4NDEzIiBzdHlsZT0iZm9u dC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0 O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXZhcmlhbnQ6aW5oZXJpdDttYXJnaW46MHB4O3Bh ZGRpbmc6MHB4O2JvcmRlcjowcHg7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Y29sb3I6cmdi KDIwMSwgNzAsIDk5KTt0ZXh0LWRlY29yYXRpb246bm9uZTsiPmh0dHA6Ly93d3cuc2xpZGVz aGFyZS5uZXQvc2xpZGVzaG93L2VtYmVkX2NvZGUvMjUxNTg0MTM8L2E+PC9kaXY+PHAgc3R5 bGU9Im1hcmdpbi1ib3R0b206MWVtO3BhZGRpbmc6MHB4O2JvcmRlcjowcHg7Zm9udC1mYW1p bHk6J1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7bGluZS1o ZWlnaHQ6MjhweDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtjb2xvcjpyZ2IoODYsIDg2LCA4 Nik7Ij5hbmQgdGhlIHJlc2VhcmNoIHBhcGVyIGlzIGhlcmU6Jm5ic3A7aHR0cDovL3d3dy5q b3QuZm0vaXNzdWVzL2lzc3VlXzIwMTNfMDYvYXJ0aWNsZTEucGRmPC9wPjxwIHN0eWxlPSJt YXJnaW4tYm90dG9tOjFlbTtwYWRkaW5nOjBweDtib3JkZXI6MHB4O2ZvbnQtZmFtaWx5OidT b3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0 OjI4cHg7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Y29sb3I6cmdiKDg2LCA4NiwgODYpOyI+ UGxlYXNlIHNoYXJlIHlvdXIgZmVlZGJhY2sgYW5kIGNvbW1lbnRzIG9uIHRoaXMgd29yayAu PC9wPjxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOjFlbTtwYWRkaW5nOjBweDtib3JkZXI6MHB4 O2ZvbnQtZmFtaWx5OidTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox NnB4O2xpbmUtaGVpZ2h0OjI4cHg7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Y29sb3I6cmdi KDg2LCA4NiwgODYpOyI+QmVzdCByZWdhcmRzLCZuYnNwOzwvcD48cCBzdHlsZT0ibWFyZ2lu LWJvdHRvbToxZW07cGFkZGluZzowcHg7Ym9yZGVyOjBweDtmb250LWZhbWlseTonU291cmNl IFNhbnMgUHJvJywgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyOHB4 O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2NvbG9yOnJnYig4NiwgODYsIDg2KTsiPkdhbmVz aCZuYnNwOzwvcD4KCgoKPCEtLSB8Kip8YmVnaW4gZWdwIGh0bWwgYmFubmVyfCoqfCAtLT4K Cjxicj4KCgo8YnI+Cgo8IS0tIHwqKnxlbmQgZWdwIGh0bWwgYmFubmVyfCoqfCAtLT4KCgo8 ZGl2IHdpZHRoPSIxIiBzdHlsZT0iY29sb3I6IHdoaXRlOyBjbGVhcjogYm90aDsiLz5fXy5f LF8uX19fPC9kaXY+CgogICAgICAKICAgICAgCjwhLS0gU3RhcnQgUmVjb21tZW5kYXRpb25z IC0tPgo8IS0tIEVuZCBSZWNvbW1lbmRhdGlvbnMgLS0+CgoKCjwhLS0gfCoqfGJlZ2luIGVn cCBodG1sIGJhbm5lcnwqKnwgLS0+CgogIDxpbWcgc3JjPSJodHRwOi8vZ2VvLnlhaG9vLmNv bS9zZXJ2P3M9OTc0NzY1OTAvZ3JwSWQ9Mzk3NTYwMi9ncnBzcElkPTE3MDcyNzY3MTgvbXNn SWQ9MTA3MDAvc3RpbWU9MTM4MDg5NDM1NiIgd2lkdGg9IjEiIGhlaWdodD0iMSI+IDxicj4K CjwhLS0gfCoqfGVuZCBlZ3AgaHRtbCBiYW5uZXJ8Kip8IC0tPgoKICAKPCEtLSB8Kip8YmVn aW4gZWdwIGh0bWwgYmFubmVyfCoqfCAtLT4KCjxicj4KICAgICAgPGRpdiBzdHlsZT0iZm9u dC1mYW1pbHk6IHZlcmRhbmE7IGZvbnQtc2l6ZTogNzclOyBib3JkZXItdG9wOiAxcHggc29s aWQgIzY2NjsgcGFkZGluZzogNXB4IDA7IiA+CiAgICAgIFlvdXIgZW1haWwgc2V0dGluZ3M6 IEluZGl2aWR1YWwgRW1haWx8VHJhZGl0aW9uYWwgPGJyPgogICAgICA8YSBocmVmPSJodHRw Oi8vZ3JvdXBzLnlhaG9vLmNvbS9ncm91cC9yZWZhY3RvcmluZy9qb2luO195bGM9WDNvRE1U Sm1aRGh4TlRGcEJGOVRBemszTkRjMk5Ua3dCR2R5Y0Vsa0F6TTVOelUyTURJRVozSndjM0JK WkFNeE56QTNNamMyTnpFNEJITmxZd05tZEhJRWMyeHJBM04wYm1kekJITjBhVzFsQXpFek9E QTRPVFF6TlRZLSI+Q2hhbmdlIHNldHRpbmdzIHZpYSB0aGUgV2ViPC9hPiAoWWFob28hIElE IHJlcXVpcmVkKSA8YnI+CiAgICAgIENoYW5nZSBzZXR0aW5ncyB2aWEgZW1haWw6IDxhIGhy ZWY9Im1haWx0bzpyZWZhY3RvcmluZy1kaWdlc3RAeWFob29ncm91cHMuY29tP3N1YmplY3Q9 RW1haWwgRGVsaXZlcnk6IERpZ2VzdCI+U3dpdGNoIGRlbGl2ZXJ5IHRvIERhaWx5IERpZ2Vz dDwvYT4gfCA8YSBocmVmID0gIm1haWx0bzpyZWZhY3RvcmluZy1mdWxsZmVhdHVyZWRAeWFo b29ncm91cHMuY29tP3N1YmplY3Q9Q2hhbmdlIERlbGl2ZXJ5IEZvcm1hdDogRnVsbHkgRmVh dHVyZWQiPlN3aXRjaCB0byBGdWxseSBGZWF0dXJlZDwvYT4gPGJyPgogICAgICAgICAgIDxh IGhyZWY9Imh0dHA6Ly9ncm91cHMueWFob28uY29tL2dyb3VwL3JlZmFjdG9yaW5nO195bGM9 WDNvRE1USmtNakkxY0cwMEJGOVRBemszTkRjMk5Ua3dCR2R5Y0Vsa0F6TTVOelUyTURJRVoz SndjM0JKWkFNeE56QTNNamMyTnpFNEJITmxZd05tZEhJRWMyeHJBMmh3WmdSemRHbHRaUU14 TXpnd09EazBNelUyIj4KICAgICAgICBWaXNpdCBZb3VyIEdyb3VwIAogICAgICA8L2E+IHwK ICAgICAgPGEgaHJlZj0iaHR0cDovL2luZm8ueWFob28uY29tL2xlZ2FsL3VzL3lhaG9vL3V0 b3MvdGVybXMvIj4KICAgICAgICBZYWhvbyEgR3JvdXBzIFRlcm1zIG9mIFVzZQogICAgICA8 L2E+IHwKICAgICAgPGEgaHJlZj0ibWFpbHRvOnJlZmFjdG9yaW5nLXVuc3Vic2NyaWJlQHlh aG9vZ3JvdXBzLmNvbT9zdWJqZWN0PVVuc3Vic2NyaWJlIj4KICAgICAgIFVuc3Vic2NyaWJl IAogICAgICA8L2E+IAogPGJyPgogICAgPC9kaXY+CiAgPGJyPgoKPCEtLSB8Kip8ZW5kIGVn cCBodG1sIGJhbm5lcnwqKnwgLS0+CgoKPGRpdiBzdHlsZT0iY29sb3I6IHdoaXRlOyBjbGVh cjogYm90aDsiLz5fXyxfLl8sX19fPC9kaXY+CjwvYm9keT4KCjwvaHRtbD4K