I hit the 20K lines of code a few days ago, and soon i'll reach 21k!!!
Executable size: 812Kb !!!!




And for all that it's very solid and extremely functional. Professional quality work from the team at Fantaisie, you should be proud. I can say without hesitation, I'm proud to own a license for it.fred wrote:For info, the IDE is over 100k line


Takes 2 seconds... But i guess part of it is because of the AV scanner!davido wrote:@Num3,
How long does it take to compile?

I noticed that this is not true. Comment and even empty lines are counted as well.Num3 wrote:@FRED,
From what i've figured, the line count information displayed on the Compilation progress windows is relative to real code lines, and does not count comment or spaced lines, i'm i correct?
I don't now what the line count realy means. It doesnt count everything. I have a 8K lines project with a lot of comments and empty lines and it shows around 4,5k lines if i compile.uwekel wrote:I noticed that this is not true. Comment and even empty lines are counted as well.Num3 wrote:@FRED,
From what i've figured, the line count information displayed on the Compilation progress windows is relative to real code lines, and does not count comment or spaced lines, i'm i correct?


Interesting!Amilcar Matos wrote:Some metrics:
On the business side; Twenty thousands lines in fourteen months means a labor investment of $60,650 (at a minimum wage rate of $25 per hour), so this whole project should be around $150,000 investment.
On the technical side; the project througput is around 1,428 code lines per month which means a typing rate of more or less one key click every five seconds.
Code maintenance will require (as a gross estimate) 250 hours per release ($6,250 labor).
From the given data;
1. No code reuse metrics can be computed.
2. No delivered bugs estimate can be computed.
3. No marketing perspectives can be budgeted (either on a national or international markets).
4. No payback period can be computed.

Code: Select all
;This shouldn't ever mess up your files, but to be on the safe side
;always make sure your PB files are backed up before running this code on them.
;
;I won't be responsible if something happens and your files get ruined.
;Use this code at your own risk.
Enumeration
#File
EndEnumeration
FullPathName$ = ProgramFilename()
Path$ = GetPathPart(FullPathName$)
Pattern$ = "PureBasic (*.pb)|*.pb"
File$ = OpenFileRequester("Please choose file to load", Path$, Pattern$, 0)
If File$
ReadFile(#File, File$)
If IsFile(#File) <> 0
While Eof(#File) = 0
Result$ = ReadString(#File)
Result$ = Trim(Result$)
Chr$ = Left(Result$, 1)
If Chr$ <> "" And Chr$ <> ";"
CTR + 1
EndIf
Wend
Filename$ = GetFilePart(File$)
MessageRequester("Information", Filename$ + " has " + Str(CTR) + " lines of code.", 0)
EndIf
Else
MessageRequester("Information", "The requester was canceled.", 0)
EndIf

Code: Select all
;{- Program header
;==Code Header Comment==============================
; Name/title: CodeLineCounter.pb
; Executable name: CodeLineCounter.exe
; Version: 1.0
; Author: Samuel
; Collaborator: Amílcar Matos Pérez
; Release date/hour: 03/Apr/2015
; Operating system: Windows [X]GUI
; Compiler version: PureBasic 5.31 (x86)
; Copyright: (C)2015 Samuel.
; License: This shouldn't ever mess up your files, but to be on the safe side
; always make sure your PB files are backed up before running this
; code on them.
; I won't be responsible if something happens and your files get ruined.
; Use this code at your own risk.
; Libraries: None
; Explanation: To count the lines of code, excluding comments and blank lines.
; Limitations: Colon separated lines and line continuations not accounted for.
; ==================================================
;.......10........20........30........40........50........60........70........80
;}
EnableExplicit
Enumeration
#File
EndEnumeration
Define FullPathName$, Path$, Pattern$, File$, Filename$, Result$, Chr$
Define LineCount.l
FullPathName$ = ProgramFilename()
Path$ = GetPathPart(FullPathName$)
Pattern$ = "PureBasic (*.pb)|*.pb"
File$ = OpenFileRequester("Please choose file to load", Path$, Pattern$, 0)
LineCount = 0
If File$ <> ""
ReadFile(#File, File$)
If IsFile(#File) <> 0
While Eof(#File) = 0
Result$ = ReadString(#File)
Result$ = LTrim(Result$) ; trim left side space characters.
Chr$ = Left(Result$, 1) ; get first character in the line.
If Chr$ <> "" And
Chr$ <> ";" And
Asc(Chr$) <> 65279
; line is not empty, not a comment, not a 65279 character.
LineCount = LineCount + 1
EndIf
Wend
Filename$ = GetFilePart(File$)
MessageRequester("Information", Filename$ + " has " + Str(LineCount) + " lines of code.", 0)
EndIf
Else
MessageRequester("Information", "The requester was canceled.", 0)
EndIf
End