« first day (716 days earlier)      last day (2464 days later) » 

00:00
RELOAD!
[rubberduck-vba/Rubberduck] 5 commits. 2 opened issues. 2 closed issues. 19 issue comments. 18296 additions. 24934 deletions.
@Mat'sMug so that's a merge onto the latest greatest next
[rubberduck-vba/Rubberduck] build for commit 0a1660c4 on unknown branch: AppVeyor build failed
BUILD FAILURE!
hmm I added NLOG to the VBEditor project but the build server doesn't seem to find it
the 3 failing tests are supposed to fail?
@awgaya AppVeyor seems to randomly fail to deal with Nuget packages
there shouldn't be any failing tests, there are 4 ignored tests though
any idea how to deal with that nuget failure then?
00:15
Well, I kind of object to the private methods things, but...
Would internal work? I can set a flag to give the test project access to the guts of the other projects.
@Hosch250 it's already set
Oh, OK.
Well, go ahead and test things. I already did blackbox testing on most of the other refactorings.
There aren't any tests for Extract Interface because it calls an asynchronous reparse.
aaah
no it's not
I couldn't get the test to wait for everything to finish before reporting the result.
I manually tested Extract Interface pretty thoroughly, though, so I'm not too worried about it.
After 2.0, I'm going to make them all work off the parse tree instead of the code pane text, so it shouldn't be an issue.
something like StartNew( () => { EverythingToRun .. }).ContinueWith
Is there a way for me to find blocks of code, within if statements and while statements and loops. and switch / case statements?
00:33
@ThunderFrame I answered that SO question
Just some useful stats:
> Pre-exception error handling in the language isn't the only thing responsible for spaghetti code.
Entire solution : 59.32%
SettingsProvider: 0%
SourceControl : 5.46%
SmartIndenter : 33.24%
VBEditor : 34.81%
RubberDuck: 34.47%
Parsing 60.50%
Is the code coverage of Rubberduck at the moment
bollocks 2am, and I have to finish moving home tomorrow
Night all.
:) Ncrunch rules
night!
hey coverage isn't too bad after all :)
> Ranting on the "stupid error crap" is fine (I'd much rather deal with exceptions too), but not when your code has unused parameters, ambiguous return types and poor naming.
01:04
refactorings : 80%
Inspections 63%
Todo: 58%
Navigation 50%
UnitTesting: 44%
Testing : 42%
Common: 22%
UI 18%
No. Coverage is actually very good for important things.
What knocks the stats is
the grammar tests
"knocks"?
01:40
knocks/rocks/skews
@Mat'sMug yep, I was going to answer it, but there were lawns to mow...
 
2 hours later…
03:23
@gleachman Oh, awesome.
@gleachman BTW, I'm going to have to ask you to not white-box test any of the other refactorings or quick fixes--for now.
I'm going to completely re-write those after we get 2.0 out, and I don't want to have a zillion white-box tests breaking on me and getting me mixed on what is broken and what isn't.
Also, I'll learn white-box testing and do it myself then.
That is, unless I have a very good reason to not white-box test them.
If you want to write more black-box tests, though, I'll be happy about that.
@gleachman I did that :) AFAIK, there are only two not thoroughly tested--Extract Interface and Extract Method.
You are doing the one, and I'll look into doing the other with the task thing.
> Error 2 File 'UI\NoOverflowToolbarStyle.xaml' cannot be found. Rubberduck
@Mat'sMug Yup, I killed it.
It wasn't doing anything.
okay, I'm missing pieces somewhere then
I don't know what's up there, looks like it wasn't removed from your .csproj correctly.
Just tell it to delete it, and you'll be fine.
I don't know what's up there, TBH--I deleted that last week.
Checking out the With thing?
Can we release next week if it is working?
if I can end up building the damn thing, perhaps
03:38
Don't swear at your kid.
lol
so.. is IParseTreeInspection supposed to exist?
I think so.
I don't have it here
I'm missing commits or something
I think @Vogel612 introduced it when he got the listeners out of the parser.
@Mat'sMug You need to do a hard pull.
03:43
I don't know how to do it exactly, but it is something about rebasing to Next.
Either that, or try "git pull upstream next" and see what happens (or both).
error: You have not concluded your merge (MERGE_HEAD exists).
hint: Please, commit your changes before merging.
fatal: Exiting because of unfinished merge.
C:\Users\Mathieu\Documents\GitHub\Rubberduck [rubberduck-vba-next +16 ~20 -1 | +3 ~0 -0 !]>
Commit and sync.
commit a broken build?
Well, no. Revert your changes.
IIGR, you just changed the .csproj.
(If I'm guessing right.)
but it's not conflicted
03:46
What's not conflicted?
I'm undoing the merge
the .csproj
Doesn't need to be.
It just needs to have uncommitted changes to cause it to abort.
I'd recommend you just rebase to upstream next.
C:\Users\Mathieu\Documents\GitHub\Rubberduck [rubberduck-vba-next +16 ~20 -1 | +3 ~0 -0 !]> git pull upstream next
fatal: 'upstream' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
C:\Users\Mathieu\Documents\GitHub\Rubberduck [rubberduck-vba-next +3 ~0 -0 !]>
You didn't set upstream.
...already up-to-date?
...already : The term '...already' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ ...already up-to-date?
+ ~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (...already:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
03:50
What in the world are you entering to your command line?
@Mat'sMug OK, do this:
First: open the Git command prompt, if it isn't open.
If you didn't set upstream yet, enter this:
yeah did that
Next, create a new branch. I always do this from VS 2015 because I can tell it to not track the remote repo.
I don't know the command line for that.
Base if off upstream next.
If you can't find it, enter git checkout upstream (I'm pretty sure that is the command) into the command line.
Then, checkout your new branch.
Finally, run git pull upstream next.
That should bring you up-to-date.
\GitHub\Rubberduck [next-pr +3 ~0 -0 !]>
C:\Users\Mathieu\Documents\GitHub\Rubberduck [next-pr +3 ~0 -0 !]> git pull upstream next
From github.com/rubberduck-vba/Rubberduck
 * branch            next       -> FETCH_HEAD
Already up-to-date.
C:\Users\Mathieu\Documents\GitHub\Rubberduck [next-pr +3 ~0 -0 !]>
03:53
What command line are you using?
Mine doesn't show the change thing like that.
[rubberduck-vba/Rubberduck] build for commit e6e991d0 on next: AppVeyor build succeeded
powershell
I use the ordinary Windows command prompt opened by VS.
well [next-pr] is up-to-date and builds
Awesome.
04:13
[rubberduck-vba/Rubberduck] build for commit e6e991d0 on next: AppVeyor build succeeded
 
1 hour later…
05:39
Good job guys!
 
2 hours later…
07:33
A thought! Given RD does have many tests (internally at the moment by using VS solution for the paser, explorer, inspections, some interfaces, the works!). Just wondering "what if" on the opposite end of the scale (have some external tests available to developers). So a directory exists called "Files for Testing" whichever wording helps.
It contains a few files such as Excel speadsheet that has several VBA code logic to prove it works with comments showing some Actual results, MS Project file with VBA as someone mentioned it, Access file with VBA from a contributor, and MS Word VBA?
The idea is to have a consistent means for testing, is all. :)
07:51
@PeterMTaylor I can see the merit in hosting some sample projects on the website (rather than bundled with the installer), but the samples would be for demonstration (perhaps to demonstrate certain inspections) rather than testing.
We shouldn't ever end up in a situation where we're offering sample files that break Rubberduck, unless there are known parsing/resolving issues that we can't fix before release and we're offering samples to show how to work-around the issues
08:01
Morining.
@Hosch250 it's looking brillian IMO
I'm not exactly going to be able to rewrite the entire app in a day. I took 2 weeks to change 200 lines of code. At that rate ... any way it was speculative
08:12
@autoboosh My comments on the debug to nlog changes weren't intended as a reflection on your work. It's only my view of things. And each system does it there way. I'm open to that.
@PeterMTaylor This is called End to End testing. And there should be loads of them.
@PeterMTaylor Great idea.. Also different versions of office.
08:34
[rubberduck-vba/Rubberduck] build for commit 8b72315c on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
3 hours later…
11:46
Agreed @ThunderFrame just the minimum demos to show the functionality with room in the scope to offer a "plan b" option for walk around if something could not be resolved between releases.
@gleachman 👍🏻
Got a good example of end to end testing you see @gleachman so I could confirm that your thinking as I am?
 
1 hour later…
13:03
@PeterMTaylor Looking back, I'm unsure if I interpreted your earlier comment correctly. I definitely think we should have some sample projects on the website, that let users evaluate Rubberduck, where the samples are deliberately riddled with refactoring opportunities and inspections. But I don't think that should have any code that breaks the parser.
For the developer's of Rubberduck, I think we should build a corpus of projects, so that changes to Rubberdick can be run against more than just an ad-hoc Sub FooBar MVP.
13:49
I like your choice of words "corpus of projects" @ThunderFrame. With practice/research, we can find which ones doesn't break the parser as you suggested, agreed. Just needs some context when these projects gets underway though. We would/could/maybe/perhaps? kindly ask some twitter fans to bring forth some ideas of what kind of projects VBA for in their industries which we can then RD would support. Anyhow, I'm off to bed so don't let the VBA bugs bite! :)
 
1 hour later…
14:55
@ThunderFrame dat typo.. lol
15:13
@Mat'sMug - Question: I was looking through Rubberduck.VBE and stumbled onto NativeMethods.ActivateWindow. Is there a reason RD is sending simulating a mouse click instead of just sending a WM_SETFOCUS message?
Whatever works... we needed a way to force the focus onto a specific window, apparently there's a bug in the VBE (no shit!) that makes activating a window work when it feels like it
A bug in the VBE? /feigns shock/
5
@gleachman I'm having a hard time resolving the conflicts and getting the main project to build.. I'll take another stab at it Monday, but if you can get GitHub to show me a green tick I'll merge your work from my phone. I'm not going to be home this afternoon and Monday morning (Sunday 11:20AM here)
 
2 hours later…
17:30
@gleachman If you wish, I can help you resolve the conflicts.
I'll make a PR to your branch either later today or first thing Monday that will resolve the conflicts, if you want.
17:57
@Mat'sMug AFAICS, there are no merge conflicts.
Just three failing tests.
Are they supposed to pass?
 
2 hours later…
19:39
> Do I read it correctly?

'ISomething
Public Foo As Integer

<!-- -->

'Class1
Implements ISomething

Private Property Get ISomething_Foo() As Integer
End Property

Private Property Let ISomething_Foo(ByVal value As Integer)
End Property

That seems rather counter-intuitive, I'd think fields are not allowed on interfaces, and if you want to expose a property you expose, well, a property... have I been doing it wrong all this time?
19:51
> I would say that everyone who uses that syntax has been doing it wrong. This might warrant something like an InterfaceExposesPublicVariable inspection.
20:04
> Yes, I think that's correct. If the variable is of type Variant you'd have to add a Property Set as well. I don't think the properties have to be private either.
20:28
@ThunderFrame Star
@PeterMTaylor start
20:41
> A public field in a class module would already trip the "encapsulate public field" inspection, and since public fields must be implemented as properties then the quickfix for that inspection won't (shouldn't) break anything; I don't think it hurts to change extract interface to allow public fields, other than looking very awkward to anyone with a .net background.
@gleachman the 3 failing tests, are they supposed to fail?
They're the only thing standing between the PR and a merge ;-)
21:36
@Mat'sMug there shouldn't have been any failing tests. Maybe I merged in a bit of work I was just starting. But didn't think I'd added those files before committing.
RubberduckTests.Refactoring.ExtractMethod.ExtractMethodRuleInSelectionTests+WhenSetValidFlagIsCalledWhenTheReferenceIsUsedAfter.shouldNotSetFlag RubberduckTests.dll 48 ms
RubberduckTests.Refactoring.ExtractMethod.ExtractMethodRuleInSelectionTests+WhenSetValidFlagIsCalledWhenTheReferenceIsUsedBefore.shouldNotSetFlag RubberduckTests.dll 1 ms
RubberduckTests.Refactoring.ExtractMethod.ExtractMethodModelTests+WhenLocalVariableConstantIsInternal.shouldExcludeVariableInSignature RubberduckTests.dll
@gleachman so these are work in process then? I don't mind merging them in if you're going to PR them going green some time soon :-)
no those shouldn't fail
Haha congratulations, you earned the "works on my machine" badge, see your profile (welcome to the club lol!)
Changes for #1225 ExtractMethodRefactoring (#1564)

* Wrap CodeModule. Add RD Interface

* Run AutoFormatter over file

* fix xml comments

* Add a method for ParseString for a module.

* Heavy refactoring of ExtractMethodRefactoring #1225.
Provisionally remove GUI interaction as it's not required. Add stubs for tests.

* Marker for needing to validate the MEthodName and increment.

* #1225 : Add checking for Multiple NewMethod signatures. Start work on ExtractMethodSelectionValid
Let's see if AppVeyor agrees with itself..
21:50
[rubberduck-vba/Rubberduck] build for commit 1143a567 on next: AppVeyor build failed
BUILD FAILURE!
@Mat'sMug no those were breaking on my machine too
ok, not sure why the build is failing
I've just msbuild and mstest both fine
Make another PR, perhaps you had local commits not pushed?
(click on the build link in @Duga's post to see the AppVeyor build details)
My keyboard must have jammed when I pressed SAVE all... Did I say I had an old computer
well the keys jam too.
like me
anyway lets see.
git commit, git push.
@Mat'sMug yes, saw same 3 failing tests....
22:09
Hi, duckies!
@Hosch250 Quack! 👍🏻
@Hosch250 another day! :) monday or sunday? Peter it's monday and Hosch it's sunday
fingers crossed
Sunday 6:15pm here
my poor hand. 2300 here, I still have to empty the car from the move.
22:16
Sunday here.
@gleachman I'd rather be moving than preparing to entertain sister's beau.
[rubberduck-vba/Rubberduck] build for commit 55ff7679 on unknown branch: AppVeyor build failed
BUILD FAILURE!
NNNOOOOOO
dafuq
I spent 2 days mowing lawns and pulling grass out of flower beds, and stipping paving of weeds
> RubberduckTests.Refactoring.ExtractMethod.ExtractMethodRuleInSelectionTests+WhenSetValidFlagIsCalledWhenTheReferenceIsInSelection+AndReferenceIsADeclaration.shouldNotSetFlagInSelection
Assert.AreEqual failed. Expected:<8>. Actual:<0>.
22:19
@Duga ok, that's because now those 2 tests are part of the code, and were my new work which I've now committed. Bollocks
Most of the commits on that PR are already merged, not sure what's going on
Wait, 2 tests?
So that PR fixes the 3 broken ones from the previous merge then
choices choices.... Hmm.
Yes these were 2 new tests
TDD works that way
you write a test. It fails you write the code
I hadn't written the code yet
So the tests were failing. I've pull those tests out quickly.. The things one has to remember.
Ok cool.. so just remove the two new tests and sync the PR, the build will pass :)
Builds is building. Takes 2 minutes on my machine
Tests will take another 4 minutes because I'm doing the Grammar tests
then I'll commit and push, and we see where the DUGA goes with it
Build Builds
@Hosch250 can merge the PR once it goes green, I'm pretty much offline (phone is getting 1 signal bar)
22:29
997 tests.. .almost 1000 tests!
3
fan tastic all tests pass on mine.. be up in asecond
@Hosch250 is that your dog? And your bed?
come on DUGA I got a car to unload
@All. Thanks for letting me join the party
It's a fab product.
Tests are running, results will be in anytime now
[rubberduck-vba/Rubberduck] build for commit 2dd32de3 on unknown branch: AppVeyor build succeeded
@Hosch250: you are going to have to walk me through that grammar stuff. I wanted to try and extract code from a selectionRange using the grammar, but I just didn't understand how to pull it all together
22:35
@gleachman thank YOU for contributing!!
3
Relief
#844 for the morning.
I've already updated the research on how I want to implement it so it should be a brieze
#1225 fix the IExtractMethod for InSelection (#1567)

* Wrap CodeModule. Add RD Interface

* Run AutoFormatter over file

* fix xml comments

* Add a method for ParseString for a module.

* Heavy refactoring of ExtractMethodRefactoring #1225.
Provisionally remove GUI interaction as it's not required. Add stubs for tests.

* Marker for needing to validate the MEthodName and increment.

* #1225 : Add checking for Multiple NewMethod signatures. Start work on ExtractMethodSelectionVal
Woot!
22:36
breeze
Okay I'm out, later folks!
me too
ciao all
From now on, I want to merge small sets of commits.
3
None of these 2 week long dev cycles between commits
Yeah... ducky's moving too fast for that lol
[rubberduck-vba/Rubberduck] build for commit 4688c804 on next: AppVeyor build succeeded
22:59
@gleachman Sure. We can do it tomorrow.
@gleachman Yep.

« first day (716 days earlier)      last day (2464 days later) »