« first day (2186 days earlier)      last day (39 days later) » 

12:01 AM
RELOAD!
[rubberduck-vba/Rubberduck] 1 issue comment.
[Zomis/Games] 3 commits. 1 closed issue. 3 issue comments. 176 additions. 35 deletions.
[Minesweeper] Games Played: 184, Bombs Used: 126, Moves Performed: 23715, New Users: 21
 
 
4 hours later…
4:13 AM
 
@BloggingDuck IrmaGourd. Encapsulate Field is something I need to start using a lot more. I've been missing out.
How did you get the line numbering to start at 101 for the IUser implementiation?
> ... posts’ teachings, , that is ...
^ @MathieuGuindon two commas separated by a space.
 
4:29 AM
@IvenBach ha, noticed it in a re-read but missed it when editing, thanks!
 
Thanks for showing the usage on this pattern.
 
@IvenBach it's in the side panel options for the syntax-highlighter-code block
 
I have some methods that have 10+ arguments and this looks like it'll solve them nicely.
 
#ItDepends, really: it's arguments vs method calls
It does look pretty neat though
but tbh I don't use the builder pattern that much at all
 
It gives me another tool I can use, when appropriate.
 
4:34 AM
^
 
Oh and its bed time for you. Past midnight much?
 
should be, but here I am revisiting the site's CSS =)
also I wonder what's keeping us from using ajax in the indenter form to update the textbox with the indented text
then there's this half-implemented config parser that reads the default inspection settings off github and uses it to separate inspections into tabs, plus I get to display a "default severity level" icon for each inspection now
this site is going to rock, and make it easy to quickly add content for a new feature online, and collaborate doing so =)
tl;dr: not sleeping just yet 🤓
 
...
I dunno how your wife doesn't ivoke the 2x4 of learning on you.
 
oh, she does
 
:+1: for your thick skull then ;)
 
4:43 AM
there's code to write, and coffee to pour
 
'@Ignore UserMeaningfulName FIXME
Dim obj As User
Set obj = New User
obj.Id = Id
obj.UserName = UserName
That doesn't need to be there any longer. It's created then when Create exits that variable is destroyed since it goes out of scope and isn't saved anywhere.
I know you've long since memorized that 5 = InvalidInput but can I suggest Const InvalidInput As Long = 5 to aid those reading the article in following what the 5 magic number represents?
 
5:00 AM
@IvenBach ha that's right! #359 would flag that!
 
If I'm correcting you that's dire evidence of your need for sleep.
Having gone through that part obj should be internal
 
that's actually a good name for it
still made a good excuse for a todo explorer refresher
:)
 
You also have a compilation error on line 23 If Me Is UserBuilder ...
 
read on...
 
I didn't add in the PredeclaredId attribute update.
 
5:05 AM
that's what the next section is about
 
I just bring up what comes to mind as I read your articles.
 
Usually it brings up valid confusion for first the first-time article read.
UserMeaningfulName is a typo too.
 
damn muscle memory!
but wow you're good
I mean I've re-read it a dozen times and missed that one
and the other one too
 
I go through every single line to make sure I understand what I'm reading.
 
5:10 AM
:sweat-smile:
 
Reading another's writing is easier to see typos too. I miss my own habitually.
> Bring up the inspection results toolwindow, and find the results for the MissingAttribute inspection under Rubberduck Opportunities:
I'd say a mention for the filter search box "seaching for pred in the filter search box makes finding and syncrhonizing the annotation easy."
:derp: of course the very next thing is group by and it's the first one.
Set builder = ... the variable was never declared.
Also Set identity = builder.Build doesn't compile since Build() is on the IUserBuilder interface, not on the UserBuilder class.
 
5:38 AM
@IvenBach but builder isn't declared and is the result of UserBuilder.Create, which returns a IUser - it works from the immediate pane anyway :)
feels dizzy ok, bed o'clock now. remembers the idea about pouring coffee hm...
 
I get the overall idea of what you've written. The specifics I can't internalize quite yet. Cool stuff and very good article.
Still don't know how you can work effectively so late/early-in-the-morning.
 
I probably don't
I learn a lot of things though
 
I'm better groking what to test and why for unit tests. 2/3 though my current unit testing book.
 
keep at it!
 
I will. I'd like to announce I'm an actual software dev by years end.
Eventually some company will be willing to take a chance on me.
Reading for me then bed.</iven>
 
5:47 AM
@IvenBach no doubt!
</mug>
 
Morning
weirdest overlap since a while
 
 
6 hours later…
12:10 PM
I have to say that I find the way we associate an InspectionType with an inspection is utterly confusing.
We have a member on the InspectionBase, but that only ever initializes the default value.
Only when the inspection gets loaded into the inspection results view model, the real inspection type is assigned from the default settings.
That feels very wrong.
If we do not want it to be a property of the inspection itself, then it should not be a member.
Instead, we could us an InspectionViewModel that attaches the additional info.
BTW, that would also make sense for the meta, and the description.
There is no need for it outside the UI.
BTW, after searching for over 30 minutes, I have not found the place where I can actually change the inspection type AttributeValueOutOfSynchInspection.
OK, I found it. It is the separate settings property of Rubberduck.CodeAnalysis. However, that is already fine.
Argh, the Name was missing the word Value in AttributeValueOutOfSyncInspetion.
BTW, the argument about removing InspectionType from InspectionBase also holds for Severity.
 
12:39 PM
> Currently, we have the members `Severity` and `InspectionType` on the `InspectionBase`, which are only set to the right value, which is taken from the code inspection default settings, when the inspection gets loaded into a view model. This is really confusing when you add a new inspection or want to change one of these because it looks like you could change it by setting the member, which will be overwritten anyway.

Moreover, we have several properties like `Meta`, `Description`, and `Insp
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=h1) Report
> Merging [#5497](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3fb577017cc2d4411f856bbb8eb2dfc2d3570df7&el=desc) will **decrease** coverage by `0.11%`.
> The diff coverage is `53.22%`.


```diff
@@ Coverage Diff @@
## next #5497 +/- ##
==============================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=h1) Report
> Merging [#5497](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3fb577017cc2d4411f856bbb8eb2dfc2d3570df7&el=desc) will **decrease** coverage by `0.11%`.
> The diff coverage is `53.22%`.


```diff
@@ Coverage Diff @@
## next #5497 +/- ##
==============================
 
@MathieuGuindon I took the liberty to patch the fix of the key in the inspection settings onto my currently open PR.
So, you might want to remove the PRs welcome.
 
@M.Doerner ewww. wow that's really ugly
 
12:54 PM
It might be also be assigned on loading the settings, but I had no indention to search any further where the heck we really assign the values.
 
I had assumed that at least the inspection type was fixed and not part of the settings
it doesn't make sense to load that from config, since it's a static categorization
 
I know.
 
the severity is a different story of course, but the Severity impacts the InspectionRunner
 
It surprised me as well.
 
so Severity is not a display-only concern. DoNotShow is actually DoNotRun
 
12:56 PM
I guess the severity is assigned when loading the settings before each run.
But why put it on a member of the inspection?
 
[rubberduck-vba/Rubberduck] build for commit 55d0f996 on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 55d0f996 on unknown branch: 61.03% (target 0.00%)
 
@M.Doerner allows for easy filtering IIRC
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=h1) Report
> Merging [#5497](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3fb577017cc2d4411f856bbb8eb2dfc2d3570df7&el=desc) will **decrease** coverage by `0.11%`.
> The diff coverage is `53.22%`.


```diff
@@ Coverage Diff @@
## next #5497 +/- ##
==============================
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=h1) Report
> Merging [#5497](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3fb577017cc2d4411f856bbb8eb2dfc2d3570df7&el=desc) will **decrease** coverage by `0.11%`.
> The diff coverage is `53.22%`.


```diff
@@ Coverage Diff @@
## next #5497 +/- ##
==============================
 
It still is rather confusing that the value you assign in the class itself is entirely meaningless.
You could just load a dictionary from the settings, instead.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=h1) Report
> Merging [#5497](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5497?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/3fb577017cc2d4411f856bbb8eb2dfc2d3570df7&el=desc) will **decrease** coverage by `0.11%`.
> The diff coverage is `53.22%`.


```diff
@@ Coverage Diff @@
## next #5497 +/- ##
==============================
 
1:10 PM
> As pointed out in chat, the inspection severity is also used to filter out inspection with severity DoNotShow. However, that could be done equaly as good by maintaining a collection of inspections to show based one the settings, which currently are read on each change to update the severity on the inspections.
 
1:41 PM
> Should this feature allow to change the entire folder name or just the last subfolder?
> The check for merges might also be an enhancement for MoveFolder since it can also lead to merging with a subfolder of the target folder.
 
2:29 PM
> Since the latest PR seems to have helped, I close this issue. However, should the problem persist for somebody, please reopen it.
 
 
1 hour later…
3:37 PM
@M.Doerner absolutely! I was going to be parsing the RD.CodeAnalysis app.config off github to get these so that the website could arrange the inspections in tabs (by inspection type) and the inspection details could include the default severity level... I think I'll implement it, get the data into the db, and then adjust it when the inspection setup changes.
 
 
2 hours later…
5:08 PM
> I'd say it should be for the last subfolder only. Having two folders with the same name in different paths seems to be entirely reasonable to me.
 
As a personal project, to get a better feel for VB internals, I'm going to try to port Semi-VB-Decompiler to C#.
 
5:52 PM
> The last question did not refer to the check but the feature requested in this issue, i.e. renaming folders. The collision check would only be against the full name anyway.
 
 
6 hours later…
11:53 PM
Found a name eXtreme Go-Horse for #ThisMustGetDoneASAP.
 

« first day (2186 days earlier)      last day (39 days later) »