summaryrefslogtreecommitdiff
path: root/Software/libreoffice
diff options
context:
space:
mode:
author190.74.195.247 <190.74-195-247.dyn.dsl.cantv.net>2010-09-28 17:22:25 +0000
committer190.74.195.247 <190.74-195-247.dyn.dsl.cantv.net>2010-09-28 17:22:25 +0000
commit4184485cbc3cd16c7ba492c74de6105915e8e94b (patch)
tree6f215859f0d3bd01f35ff476347cf1dc230b2cb9 /Software/libreoffice
parentbf0f0a1e6e501633eb8673612e6d3f4bb2fb4e2d (diff)
Move from libreOffice to LibreOffice
Diffstat (limited to 'Software/libreoffice')
-rw-r--r--Software/libreoffice/EasyHacks.moin147
1 files changed, 1 insertions, 146 deletions
diff --git a/Software/libreoffice/EasyHacks.moin b/Software/libreoffice/EasyHacks.moin
index d9412fab..20c97bf5 100644
--- a/Software/libreoffice/EasyHacks.moin
+++ b/Software/libreoffice/EasyHacks.moin
@@ -1,146 +1 @@
-= Easy Hacks =
-
-== find and remove German comments, translate if possible ==
-
-'''Background''': The code is littered with German comments of little value eg:
-{{{
- // Beschreibung: textuelle Beschreibung ermitteln
- String SwDocStyleSheet::GetDescription(SfxMapUnit eUnit)
-}}}
-
-'''Skills''': grep, code reading, optional English translation, diff etc.
-
-== remove all the bogus comments lying around ==
-'''Background:''' almost no-one believed that revision control works, so we see things like:
-{{{
- /* -----------------------------04.12.00 16:26--------------------------------
-}}}
-and
-{{{
- #include <svx/svxdlg.hxx> //CHINA001
-}}}
-and
-{{{
- // --> OD 2008-01-08 #newlistlevelattrs#
-}}}
-
-'''Skills:''' identifying bogus comments, and removing them.
-
-
-== remove non-compiled / dead code ==
- + tons of this is lying around in the code-base
-'''Background:''' There is tons of this lying around in the code. Apparently some developers don't believe in revision control. In calc, much un-used code is just commented out like this:
-{{{
-//UNUSED2008-05 if (nCount==1)
-//UNUSED2008-05 return 0; // leer
-}}}
- all of this needs removing.
-
-'''Skills:''' ability to identify and remove large sections of commented out / compiled out code
-
-== find / fix all German spellings in internal APIs ==
-'''Background:''' There are a good number of mis-spelled methods eg. 'childs' should be children and 'menues' menus
-
-'''Skills:''' grep, code reading, full compilation
-
-== remove VOS library ==
-'''Background:''' the VOS library has been obsolete for many years, but still lingers on in the codebase. Patches exist to remove it altogether, splifying the code and speeding startup up. These need re-applying, building to test.
-
-'''Skills:''' build, C++
-
-
-== cleanup obsolete types ==
-'''Background:''' There are a number of obsolete types in use in the code-base. The most egregious is 'BOOL' which should be replaced for a 'bool' type.
-
-'''Skills:''' build, search & replace.
-
-== valgrind cleanliness ==
-'''Background:''' There are a large number of memory mismanagement bugs around that leak memory, or leave threads around at exit. These need fixing, a good start has been made by Caolan in issue 112782
-
-'''Skills:''' build, C++, valgrind trace reading [ help available ], fix UMRs etc.
-
-== cppcheck cleanliness ==
-'''Background:''' there is a great tool: http://sourceforge.net/projects/cppcheck/ that can help identify bad looking pieces of code. We should run the latest version on the codebase, identify false positives, and clean the code to fix bugs, and avoid warnings.
-
-'''Skills:''' build, simple C++
-
-== un-screw-up accessible icon code-paths & shrink theme files ==
-'''Background:''' whomever added the accessibility icon theming code created a limited solution of un-necessary complexity. Then real theming was introduced. We should remove the un-necessary BmpColorMode code paths. We should also remove the redundant high-contrast icons from all the themes (retaining the discrete high-contrast theme itself of course).
-
-'''Skills:''' build, C++
-
-== unit test writing ==
-'''Background:''' many parts of OO.o have no unit tests, creating these gives far greater confidence around re-factoring. Some great places for these would be against the spreadsheet.
-
-'''Skills:''' simple C++ programming
-
-== leak detection ==
-'''Background:''' when closing documents, routinely lots of memory is leaked. Identifying and fixing these areas should help improve robustness.
-
-'''Skills:''' Linux / Valgrind
-
-== call-catcher / bloat removal ==
-'''Background:''' a certain amount of code is simply not used in OO.o we have a tool to identify this called 'callcatcher' yet its results need some investigation and patches creating to remove truly unused methods.
-
-'''Skills:''' building, simple C++ programming
-
-== change make test to make check all over the place ==
-'''Background:''' Align LibreOffice makefile targets with FLOSS conventions
-
-'''Skills:''' grep, Makefile reading
-
-== add coverage analysis to unit tests ==
-'''Background:''' Feedback loop in testing is missing, we need to add that. Example is here:
- http://developer.digitalstrom.org/redmine/wiki/dss/Generate_coverage_report
-
-'''Skills:''' shell scripting, Makefile reading
-
-== warning free code ==
-'''Background:''' Making code compile without warnings is a prerequisite for noticing errors in _new_ code
-
-'''Skills:''' building the beast, basic c++ skills (and the attitude to ask when in doubt)
-
-== remove remaining external header guards ==
-'''Background:''' much of the bad habit of having external header guards around each and every #include statement is gone, but there are still remnants in the code
-
-'''Skills:''' grep, building the beast
-
-== Removal/Replacement of the String/UniString/ByteString with OUString/OString once and for all. ==
-'''Background:''' OO.o uses duplicate string classes, and should not. The 'old' UniString class is limited to 64k, yet has many more helpful helper methods. We need to create similar helper methods for OUString and port the existing code to use the basic string class. We should write unit tests in parallel to ensure that nothing breaks.
-
-'''Skills:''' building, coding, writing unit tests, etc.
-
-== Reduce power consumption: timers must end eventually. ==
-'''Background:''' We have a lot of timers, which constantly fire endlessly once started (calc has a particularly nasty one). So we chew up battery life on laptops when we're idling. When we're idle we should, after a short enough time, actually go idle and not wake up the laptop constantly. That means removing any leaked timers properly. This is a matter of tracking pending timers, and verifying that they are sensible, adding some infrastructure to help with this would be good too. eg. issue 106485.
-
-'''Skills:''' building, C++
-
-== build with strict-aliasing ==
-'''Background:''' GCC compiler developers believe we can get performance benefits from gcc's -fstrict-aliasing flag. Finishing the work already started on this and merging it would be useful (cf. issue 101100). This entails identifying and fixing sites that generate related warnings.
-
-'''Skills:''' building, C++
-
-== strip out non-trivial globals before main ==
-'''Background:''' ordering and running constructors at startup consumes CPU time. Anything larger than a simple string should be switched to use the singleton pattern in 'sal' for this case. Any variable marked 'static' is potentially a problem.
-
-'''Skills:''' build, simple C++
-
-== 16bit unicode string literals ==
-'''Background:''' Our ASCII string handling is slow and inefficient. C++0x introduces u"UTF-16 string literals" http://en.wikipedia.org/wiki/C%2B%2B0x#New_string_literals and see icu/source/common/unicode/unistr.h and icu/source/common/unicode/platform.h for hackery for other platforms. (mozilla even uses -wshort-wchar and L"string literals" though the standard approach is better. To implement this, we should add a SAL_STRING_STATIC_FLAG to create rtl_uStrings with, and instrument rtl_uString_assign - to deep copy these when necessary.
-
-'''Skills:''' build, C++
-
-== hunt and destroy obsolete macros ==
-'''Background:''' it is hard to find macros that are no longer used, so they can pile up, cluttering the code, and scaring people. Things like SAL_SWAP need identifying and removing.
-
-'''Skills:''' build, patience, code search
-
-== get rid of useless Win9x support ==
-'''Background:''' We have some code to support Windows 9x by providing emulated wide-character Win32 APIs etc. That is not needed, we should just use the wide-character APIs directly.
-
-'''Skills:''' Win32, building
-
-== get rid of obsolete manual templates eg. DECLARE_LIST ==
-'''Background:''' before the wonderful world of templates and STL (all those years ago), standard pre-processor based generics were created. These still litter the code, and need replacing with STL equivalents. see tools/inc/tools/list.hxx etc.
-
-'''Skills:''' building, simple C++, care in re-factoring
+Please use http://www.freedesktop.org/wiki/Software/LibreOffice instead