Symbianize Forum

Most of our features and services are available only to members, so we encourage you to login or register a new account. Registration is free, fast and simple. You only need to provide a valid email. Being a member you'll gain access to all member forums and features, post a message to ask question or provide answer, and share or find resources related to mobile phones, tablets, computers, game consoles, and multimedia.

All that and more, so what are you waiting for, click the register button and join us now! Ito ang website na ginawa ng pinoy para sa pinoy!

Need opinion about out Project sa Office [C#]

kristiancua

Amateur
Advanced Member
Messages
147
Reaction score
1
Points
28
Guys, hindi lang po sana ako ng opinyon sa inyong lahat tungkol sa project namin dito sa office.

Junior Software Engineer po ako (C# as the Language, SQL Server as the Db, Dapper[ORM] for the Mapping) nang isang company dito sa Laguna. Actually, i've been here for like 3 weeks now.

i've been introduced to the existing system na gamit namin. approx 250mb~ file size nya. the system has about 15~30 modules since the whole company uses it including the production.

and as a Software Engineer, it is out duty to maintain, enhance, and optimize the system. but as i have noticed, the system itself is bloated, slow, and crappy. (hindi naman sa napagaling kong developer)

as of now po kase, ang structure ng project namin is

-1 Solution
-8 Projects
-Each Projects has their own set of modules
-All in all, there are about 20~30 modules
-The project is about ~250mb in size (plugins, packages, addons)

ngayon po, gusto ko sana i propose sa Team Leader namin if pwedeng i compile ang modules sa kani kanilang DLL (1 Module = 1 DLL). naisip ko to kase

-kung gagawan namin nang kani kanilang DLL ang bawat module, mas mapapadali po ang development, maintenance, at enhancement ng system. bakit ? kase nga po, independent ang module sa main program itself. so kung kelangan ng user ang module, mag instantiate ang main program ng DLL ng certain module na yun then irurun, boom.

-kung kelangan may baguhin, pagandahin, idagdag, or alisin sa certain module na yun edi yung DLL na yun lang din ang gagawin. this way, kung magkanda shunga shunga ang code ng isang programmer hindi madadamay ang buong system.

-mas mapapadali ang division of work. kung may tatlong software engineer na may kanya kanyang module na imomodify, hindi na kelangang idistribute ang iisang solution nang main program since every module has its own solution during the development of the module's DLL.

-pag icocompile ang group work, instead na 3 main program solutions na edited nang tatlong programmer, i-build nalang ang DLL, ideploy sa executable folder path nang main program ang bang !. updated na ang system.

-mas bibilis ang system kase may kanya kanya silang instance nang module. if mag crash, or mag throw ng exception, or mag freeze ang isang module. hindi magko close ang buong system.


so yan. gusto ko po sana ipropose yung 1 module 1 dll approach namin sa project, given the concerns na sinabi ko sa inyo.


gusto ko po sana malaman ang opinyon nyo, if magandang ideya tong naiisip ko. o ako lang nakaka isip na maganda to para sa system. salamat po mga kapwa ko programmers/developers.
 
i assume you are not using any version control system?mas madali yan kung naka version control yung code in the first place, better integrate this bago kayu mag change ng code if you want to save your face :)

pag gagawin mong DLL, kelangan mong i document lahat yan, kasi xempre you cannot see the code, so the developer will depend on documentation for parameters and whatnots, you should also write every test you can (100% coverage) using best practices, para ma ensure na bug free bago sya gawing DLL.

but i think hinde sa DLL yan, sa refactoring ng code yang kelangan nyan kasi i think you want to achieve a way na independent yung mga modules, also search how to profile your system, para may proof ka na nag improve nga ang speed and efficiency ng system. since you are maintaining code, tests ang talagang gawin mo muna bago ka mag modify dun mo malalaman ang real flow ng system. pag alam mo na, you can do whatever you want with it.
 
^ What he said.

Modularization through the form of DLLs will not entirely solve the problems you mentioned above. Understand that DLLs will reduce the amount of memory footprint (through late binding) but they will not speed up the system.

Instead, you need to PROFILE to identify and analyze performance issues. Find those critical sections of the code where much of the computation takes place then see if you can improve the algorithm. Like what soapboay mentioned, you first need to understand very well the workings of the entire system.
 
Back
Top Bottom