On Sun, Dec 5, 2010 at 9:52 PM, St�phane Ducasse
<stephane.ducasse@inria.fr> wrote:
Hi guys
I decided that I will not integrate any code that is not documented in Pharo.
I strongly suggest to remove from Pharo-dev packages whose classes are not commented.
I think this is not a good idea...look this approx:
��� | pharoCorePackages packagesDev nonCommentedClasses totalClasses |
��� pharoCorePackages := #('MultilingualTests' 'Morphic' 'ToolBuilder-Kernel' 'PackageInfo' 'Polymorph-ToolBuilder' 'Network-Kernel' 'Network-Protocols' 'Compiler' 'System-Finalization' 'Settings-Graphics' 'Collections' 'Network-RemoteDirectory' 'Traits' 'Network-URI' 'Settings-Display' 'Collections-Abstract' 'Settings-Compiler' 'MonticelloMocks' 'ScriptLoader11' 'System-Digital Signatures' 'System-Localization' 'MenuRegistration' 'Polymorph-TaskbarIcons' 'Monticello' 'ToolBuilder-Morphic' 'MCDirtyPackage' 'Collections-Weak' 'Settings-Polymorph' 'Tests' 'HelpSystem-Core-Utilities' 'SUnit' 'Collections-Text' 'Compression' 'Morphic-MorphTreeWidget' 'HelpSystem-Core' 'ToolsTest' 'Gofer-Core' 'Gofer-Tests' 'Collections-Stack' 'FreeType' 'MonticelloConfigurations' 'Polymorph-Geometry' 'Collections-Support' 'SUnitGUI' 'HelpSystem-Core-Model' 'Tests-VM' 'System-Change Notification' 'System' 'Tests-ObjectsAsMethods' 'HostMenus' 'Network-MIME' 'Network-RFC822' 'VB-Regex' 'TrueType' 'DeprecatedPreferences' 'System-Clipboard' 'System-Settings' 'MorphicTests' 'System-Serial Port' 'NetworkTests' 'Collections-Unordered' 'System-Changes' 'System-Object Storage' 'Collections-Traits' 'System-Platforms' 'Tests-PrimCallController' 'Morphic-TrueType' 'Multilingual' 'Graphics' 'Collections-Strings' 'KernelTests' 'System-FileRegistry' 'Tests-Bugs' 'ToolBuilder-SUnit' 'Tests-Release' 'Morphic-Balloon' 'Settings-Network' 'System-Applications' 'Polymorph-Tools-Diff' 'Settings-Tools' 'ScriptLoader' 'ST80' 'FreeTypeSubPixelAntiAliasing' 'Settings-Kernel' 'Settings-System' 'CompilerTests' 'System-Tools' 'System-Hashing' 'System-Download' 'Collections-Streams' 'Tests-SystemChangeNotification' 'GraphicsTests' 'Polymorph-Widgets' 'Kernel' 'Tools' 'Settings-FreeType' 'FreeTypeTests' 'Settings-Monticello' 'HelpSystem-Tests' 'Polymorph-EventEnhancements' 'System-Support' 'MonticelloGUI' 'System-FilePackage' 'System-Object Events' 'Announcements' 'System-Text' 'Exceptions' 'Network-UUID' 'System-Pools' 'FixUnderscores' 'HelpSystem-Core-UI' 'GraphicsResources' 'Files' 'Gofer' 'Network-MailSending' 'Collections-Arrayed' 'CollectionsTests' 'Balloon' 'Network-Url' 'Collections-Sequenceable' ).
��� packagesDev := (PackageInfo allPackages
��� ��� ��� ��� collect: [:each | each packageName])
��� ��� ��� ��� difference: pharoCorePackages.
��� nonCommentedClasses := packagesDev
��� ��� inject: 0
��� ��� into: [:sum :each | sum + (((PackageInfo named: each) classes
��� ��� ��� ��� ��� select: [:aClass | aClass comment asString includesSubString: 'is xxxxxxxxx.']) size)].
��� Transcript show: 'nonCommentedClasses: ', nonCommentedClasses asString.
���
��� totalClasses :=� packagesDev inject: 0 into: [:sum :each | sum + (PackageInfo named: each) classes size ].
��� Transcript show: 'totalClasses: ', totalClasses asString.
Shows:
nonCommentedClasses: 1116
totalClasses: 1369
�
I'm not sure that I will look at code or answer question to code that is not commented.
We should change our mindset and it seems that we do not care, so we should take radical decisions:
� � � �less changes, less progress, more comments.
And for once I will not bash the past. Smalltalk was always with methods fully documented.
We are just plain lazy and this is a shame.
Stef