From 5d8a94b462b3b57560df2b2d007491a97f2c6d16 Mon Sep 17 00:00:00 2001 From: Igor Goldobin Date: Tue, 26 Mar 2024 04:38:15 +1000 Subject: [PATCH] =?UTF-8?q?Migrating=20Rule=20=E2=80=9Chave-a-resetdefault?= =?UTF-8?q?-function-to-handle-messed-up-user-settings/rule=E2=80=9D=20(#8?= =?UTF-8?q?224)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create Rule “have-a-resetdefault-function-to-handle-messed-up-user-settings/rule” * Update rule.md --------- Co-authored-by: Tiago Araújo [SSW] --- .../rule.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 rules/have-a-resetdefault-function-to-handle-messed-up-user-settings/rule.md diff --git a/rules/have-a-resetdefault-function-to-handle-messed-up-user-settings/rule.md b/rules/have-a-resetdefault-function-to-handle-messed-up-user-settings/rule.md new file mode 100644 index 00000000000..782dff7b1a1 --- /dev/null +++ b/rules/have-a-resetdefault-function-to-handle-messed-up-user-settings/rule.md @@ -0,0 +1,43 @@ +--- +type: rule +title: Do you have a ResetDefault() function to handle messed up user settings? +uri: have-a-resetdefault-function-to-handle-messed-up-user-settings +authors: + - title: Adam Cogan + url: https://ssw.com.au/people/adam-cogan/ +created: 2014-03-14T00:22:00.000Z +guid: 6696b1b2-dcd7-475a-990e-b5d610f0a122 +--- +In development life cycle, developers always have different settings to the user's settings. Because of this, debug settings won't always work on the remote machine. + +In order to have settings.config, we also have a defaults.config. This is good because this gives a chance for the user to roll back bad settings without reinstalling the application. The application can also roll back the settings it automatically. Below is the code that what we do. + + + +VB.NET + +```vb +Public Sub RuneXtremeEmail(ByVal state As Object) + + If Environment.MachineName <> Configuration.MachineName Then + + resetSettings() + + Else +End +``` + +We have a program called [SSW Code Auditor](https://ssw.com.au/ssw/CodeAuditor/) to check for this rule. + +We have a program called [SSW .NET Toolkit](https://ssw.com.au/ssw/NETToolkit/) that implements this rule. + +*Note: in Access we do like this* + +```vb +Private Sub Form_Load() + + If Nz(DLookup("CurrentComputerName", "ControlLocal", "ID=1"), "") <> CurrentComputerName + Then + Me.ctlCurrentComputerName.Value = CurrentComputerName + Else ... +```