CodeCritic

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

CodeCritic

Long Haired David
Hi everyone. Many years ago, when we first started shipping frameworks, we used to run the code through Envy Code Critic. I am in the process of developing a Key/Value database and would like to do the same when it is ready to go. However, the main elements of the feature are now built in to the browsers but I would like to analyse a single app in one go if possible and get a summary of all the issues.

Is there a way to do that in 9.1?

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
David
Totally Objects
Doing Smalltalk since 1989
Reply | Threaded
Open this post in threaded view
|

Re: CodeCritic

Mariano Martinez Peck-2


On Thu, Mar 21, 2019 at 4:26 PM Totally Objects <[hidden email]> wrote:
Hi everyone. Many years ago, when we first started shipping frameworks, we used to run the code through Envy Code Critic. I am in the process of developing a Key/Value database and would like to do the same when it is ready to go. However, the main elements of the feature are now built in to the browsers but I would like to analyse a single app in one go if possible and get a summary of all the issues.

Is there a way to do that in 9.1?

Hi,

Maybe what you are looking for is Tools -> Smalllint ? You need to install the feature ST: ENVY/QA first.. 

See attached example. You can select as many apps/classes as you want and also select which rules to run. 
 
Is that what you want? 

--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
[hidden email]

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.

Screen Shot 2019-03-21 at 4.33.45 PM.png (274K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: CodeCritic

Norbert Schlemmer
Hi Mariano

Maybe what you are looking for is Tools -> Smalllint ? You need to install the feature ST: ENVY/QA first..

have loaded "ST: ENVY/QA" since years and uses this tool but never seen "Tools -> Smalllint".
Any idea?
Thanks
Norbert

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: CodeCritic

Mariano Martinez Peck-2


On Fri, Mar 22, 2019 at 4:32 AM Norbert Schlemmer <[hidden email]> wrote:
Hi Mariano

Maybe what you are looking for is Tools -> Smalllint ? You need to install the feature ST: ENVY/QA first..

have loaded "ST: ENVY/QA" since years and uses this tool but never seen "Tools -> Smalllint".
Any idea?

Sorry... you were right. Thing is...I always load a bunch of features to a clean image so I didn't remember where exactly it came from. 
In this case, this was "z.ST: Refactoring Browser". 


BTW, just for sharing purposes, below is the script I run into a fresh image to become it my "dev" image (you may want to copy parts and customize it for your own?)



| fontStruct fontName mapsToLoad enhancedListColor |


"Setting for rendering fonts nicer"
StsCodeFontManager default directWriteEnabled: true.

"Set custom code font"
"To get this string from the CURRENT configuration, just send evaluat: 
 StsCodeFontManager default codeBrowserFontFor: Transcript  "
fontName := '-microsoft-droid sans mono-medium-r-normal--13-100-96-96-m-0-iso8859-1'.
fontStruct := Transcript shell display loadQueryFont: fontName.
fontStruct isNil
ifTrue: [CwMessagePrompter errorMessage: (NlsCatEST indexedMsg: 5)] 
ifFalse: [
StsCodeFontManager default
updateCodeFontList: (CwFontList fontStruct: fontStruct)].

"Set custom browse font"
"To get this string from the CURRENT configuration, just evaluate: 
 EtWindow fontName"
"fontName := '-microsoft-droid sans-medium-r-normal-sans serif-13-100-96-96-p-0-iso8859-1'."
"fontName := '-microsoft-amaranth-medium-r-normal--13-100-96-96-p-0-iso8859-1'.
(fontStruct := Transcript shell display loadQueryFont: fontName) isNil
ifTrue: [CwMessagePrompter errorMessage: (NlsCatEST  indexedMsg: 5)]  
ifFalse: [EtWindow updateFontList: (CwFontList fontStruct: fontStruct)].
"

"Setting for sorting apps needing versioning first on app manager"
StsApplicationManager sort: #applicationsNeedingVersioningFirst.

"Setting to autofocus 'All' tab in class browser"
EtClassBrowser methodFiltering: #ShowPublicPrivateAll. 

"Set color syntax max size to something much bigger than default"
StsPowerTools
parseTreeMaxMethodTextSize: SmallInteger largest;
updateStyling.
"Set custom color for lists"
enhancedListColor := Color fromString: '7D8C93'.
StsPowerTools
enhancedListColor: enhancedListColor;
updateAllBrowsersWithListColor: enhancedListColor.

"Select all categories in class browser"
EtClassBrowser selectAllCategoriesByDefault: true.

"Set desired theme"
StsPowerTools currentEditorTheme: 'Pharo 7.x Dark Theme'.


"Show timestamp as part of editions"
EmTimeStamp showVersionTimeStamps: true.

"Show horizontal scroll bars in upper panels of class browser"
EtClassBrowser showListHorizontalScrollBars: true.

"Bigger default size for some browsers"
StsApplicationManager defaultWindowSize: 1024 @ 800.
StsTabbedClassesBrowserWin  defaultWindowSize: 1024 @ 800.
StsConfigurationMapsBrowser defaultWindowSize: 1024 @ 800.
MedScriptManager defaultWindowSize: 1024 @ 800.
StsTabbedChangesBrowserWin defaultWindowSize: 1024 @ 800.
StsTabbedClassEditionBrowserWin defaultWindowSize: 1024 @ 800.
StsApplicationEditionsBrowser defaultWindowSize: 1024 @ 800.
StsApplicationsChangesBrowser defaultWindowSize: 1024 @ 800.
"SUnitBrowser defaultWindowSize: 1024 @ 800."
StsTranscript defaultWindowSize: 800 @ 320.

"Show line number in debugger and class browser too"
StsPowerTools showBrowserLineNumbers: true.
StsPowerTools showDebuggerLineNumbers: true.

"Show some more icons on the methods selectors on class browser"
StsPowerTools settings removeKey: #IconAbstract ifAbsent: [].
StsPowerTools settings removeKey: #IconRunnable ifAbsent: [].
StsPowerTools settings removeKey: #IconSubclassOverride ifAbsent: [].
StsPowerTools settings removeKey: #IconSubclassesRedefine ifAbsent: [].
StsPowerTools settings removeKey: #IconWarning ifAbsent: [].
StsPowerTools settings at: #ShowScratchApplicationHierarchies put: true.
StsPowerTools settings at: #ColorChangedCategories put: Color blue. 
StsPowerTools settings at: #DragDrop put: true. 
StsPowerTools settings at: #DragDropButton put: CwConstants::Button3. 
StsPowerTools showGuiTypeAttributes: false.
StsPowerTools updateAllBrowsers.


"Customize CodeAssist"
StsCodeAssist configuration
bracketHighlightInsideComments: true;
bracketHighlightInsideStrings: true;
smartHighlightStyleSelectedWord: true.
StsCodeAssistApp storeCodeAssistConfiguration.



"So that when we import from a shipped manager we have the development versions
 and not the builder renamed tags"
"StsPowerTools importNewNamesAlwaysAccept."


"Load Development tools"
mapsToLoad :=  #(
'z.ST: ENVY/QA'
'z.ST: Monticello Importer'
'z.ST: Performance Workbench' 
'z.ST: Refactoring Browser' 
'z.ST: Server Workbench, Base'
'z.ST: Server, SST'
'z.ST: SUnit' 
'Mastering ENVY/Developer Script Manager'
"'Instantiations ABT Development Preload'"
 ).
mapsToLoad do: [:each | (EmConfigurationMap editionsFor: each) 
first loadWithRequiredMaps 
]. 
 
System startUpClass debuggerClass: StsDebugger. 

 "Finally, reset transcript"
 Transcript textWidget setString: Transcript defaultText




 
Thanks
Norbert

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
[hidden email]

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: CodeCritic

Long Haired David
In reply to this post by Long Haired David
Hi Mariano.

I have tried running your script. I get two errors.

On says that MedScriptManager is undefined and the second just tells me that a font failed to load (don't know which one).

I deleted the Medscript line and just continued on the font failure. I can now see Smalllint but there are no check boxes in the columns as per the screen shot attached. Also, I can only see two of my apps (TobFlatToolBarsWidgetApp and TobToolBarsWidgetApp. None of my other apps are showing.

David

On Thursday, March 21, 2019 at 7:26:55 PM UTC, Totally Objects wrote:
Hi everyone. Many years ago, when we first started shipping frameworks, we used to run the code through Envy Code Critic. I am in the process of developing a Key/Value database and would like to do the same when it is ready to go. However, the main elements of the feature are now built in to the browsers but I would like to analyse a single app in one go if possible and get a summary of all the issues.

Is there a way to do that in 9.1?

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.

smalllint.png (38K) Download Attachment
David
Totally Objects
Doing Smalltalk since 1989
Reply | Threaded
Open this post in threaded view
|

Re: CodeCritic

jtuchel
David

Iirc, the checkboxes only appear when you click on them. The tool is about 30 years old and even back then didn’t follow any GUI standars ;-) it is still helpful , however...

Joachim

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: CodeCritic

Long Haired David
In reply to this post by Long Haired David
Sorry but there are no check boxes on load or when clicking on anything. In addition, as mentioned, only a couple of my applications show in the list so even if I could see check boxes I wouldn't be able to analyse anything.

On Thursday, March 21, 2019 at 7:26:55 PM UTC, Totally Objects wrote:
Hi everyone. Many years ago, when we first started shipping frameworks, we used to run the code through Envy Code Critic. I am in the process of developing a Key/Value database and would like to do the same when it is ready to go. However, the main elements of the feature are now built in to the browsers but I would like to analyse a single app in one go if possible and get a summary of all the issues.

Is there a way to do that in 9.1?

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
David
Totally Objects
Doing Smalltalk since 1989