Project without NameMapping
Hey,
We write a project for an application written in Delphi which is a monolith. The application has been developed for over 20 years and its size is huge.
In the project we are using NameMapping which already at the beginning of the work is causing me a lot of problems and I have concerns about the size of the NameMapping file in the future.
My questions:
1) If the NameMapping file grows to a large size, is it a performance problem? By "large size" I mean about 60% coverage of our application. We have over a thousand menu items available and if I map these formats to NameMapping then won't my project work very slowly?
2) Why use NameMapping? Example:
a) without NameMapping
functionUnit1() {\pos(192,210)}functionUnit1()
var Edit = Sys.Process("pulse").VCLObject("LogOnForm").VCLObject("GroupBox").VCLObject("UsernameEdit");
Edit.Keys("YYYYYYYYY");
}
b) with NameMapping
functionUnit1() {\pos(192,210)}functionUnit1()
var Edit = Aliases.impuls.wndLogOnForm.Panel.Edit;
Edit.Keys("YYYYYYYYY");
}
Does NameMapping have any greater use than just storing the names of mapped objects? Because without NameMapping you can easily create your own variables with objects and the code becomes very readable.
3) What do you think about writing a project for such a large application without NameMapping?
4) How do you store NameMapping in the repository? SVN, GIT working in a few people with such a dynamic file is not possible in my opinion.
5) Referring to point 4 I made an attempt to divide one Project into smaller ones. I cut the project for fear that when I create one big project with a huge NameMapping file, the performance of working with this file for TestComplete will be very poor.
Example:
1) Project A -> NameMapping A
2) Project B -> NameMapping B
I find that I cannot use NameMapping A in project B. You have to connect NameMapping files and this again leads to the problem of the big NameMapping file.
Smaller projects must use elements from other projects because this is a test scenario requirement, for example: the production process module requires an index from the warehouse and the production is Project A and the warehouse is Project B.
I am currently planning to work with only one large project without NameMapping. What do you think?